Processing Component
Possibly long running processing functionality is handled by separate components to enable elastic scaling. Processing functionality is further made configurable to support different customer requirements.
How can processing be scaled out elastically among distributed resources while being configurable regarding the supported functions to meet different customers’ requirements? |
Context
The processing functionality offered by an application shall be handled by different application component instances that operate independently. Instances of these components have to be added and removed easily to the application as part of scaling operations.
Solution
Processing functionality is split into separate function blocks and assigned to independent Processing Components. Each processing component is scaled out independently and is implemented in a stateless fashion as described in the Stateless Component pattern. Scaling is handled by an Elastic Queue. Data required for processing is provided with requests or by Storage Offerings.
Related Patterns
Blob Storage, Relational Database, Key-Value Storage, User Interface Component, Data Access Component, Managed Configuration, Batch Processing Component, Multi-Component Image, Idempotent Processor, Transaction-based Processor, Timeout-based Message Processor