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