Skip to content
Art2link ESB v2.02 LTS HomeDocumentationBlogContact
Patterns/Advanced & future/Streaming / chunked large payloads

Streaming / chunked large payloads

A multi-gigabyte file should never be loaded into memory all at once. Stream it through the pipeline in chunks, so the platform processes data far larger than it could ever hold whole — and keep the heavy bytes off the bus entirely.

Streaming means each pipeline component reads, transforms and writes the payload in passes rather than materialising it in full. Memory use stays flat regardless of size, throughput stays predictable, and a huge transfer cannot exhaust resources. For routing and tracking, pair it with the claim check: the bus carries a small reference token while the bulk data streams from storage to destination.

large source 5 GB stream stage chunk by chunk destination flat memory, any size on the bus: ref token only

The constraint streaming imposes is that not every operation can see the whole payload at once — a transform that needs global context (sorting the entire file, say) breaks the streaming model. Where you can work locally, per record or per chunk, streaming lets size stop being a limit.

Stream-friendly transforms only. Keep per-chunk work local; if a step genuinely needs the full payload, stage it deliberately rather than silently buffering gigabytes and defeating the point.