# Message Sequence

> Split a big payload across multiple messages with sequence numbers so the receiver can stitch it back.

- **Category**: Integration
- **Subcategory**: Message Construction
- **Canonical URL**: https://designpattern.fyi/patterns/message_sequence/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
File transfer over messaging — a 50MB file is split into 200 x 256KB chunks. Each carries sequenceNumber, totalChunks=200, correlationId. Receiver buffers all 200, detects if chunk 87 is missing, requests a retry, then reassembles in order.





## Trade-offs


### Advantages

- Enables large data transfer within broker message size limits

- Built-in gap detection via total count

- Enables parallel transmission (chunks can be sent concurrently)

- Naturally pairs with Aggregator for reassembly




### Considerations & Drawbacks

- Receiver must buffer all chunks before processing — memory pressure

- Out-of-order delivery means buffering until all chunks arrive

- One missing chunk blocks full reconstruction

- Adds sequencing overhead to every message







---
**Reference**: [Original Source](https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSequence.html)

