Back to Catalog
Integration
Message Routing
Splitter
One message with many items β break it apart so each item can be processed independently.
Intent & Description
Real-world Use Case
Bulk invoice import β a BatchInvoiceMessage contains 200 invoices. Splitter emits 200 individual InvoiceMessage events. 10 parallel invoice-processor instances consume them concurrently. Throughput is 10x vs sequential. Aggregator collects all results for a final status report.
Source
π TL;DR
Splitter = unpack a batch into individual messages. Each item flows independently. Pair with Aggregator to reassemble results. The key to parallel batch processing.
Advantages
- Enables parallelism β N items processed concurrently
- Simplifies per-item processor logic β each processor handles one clean unit
- Naturally scales with competing consumers
- Decouples batch ingestion from per-item processing
Disadvantages
- Must maintain correlation between split messages for later aggregation
- Partial failures β if 3 of 200 fail, tracking and retrying only those 3 is complex
- Message volume multiplies β 1 batch message becomes N individual messages
- Split + Aggregate adds latency vs processing the batch in one shot