Some messages must be processed in order:
Kafka: Ordering within a partition. Same key goes to same partition. Order across partitions not guaranteed.
SQS: Standard queues have best-effort ordering. FIFO queues guarantee order but have lower throughput.
Strategies for ordering:
- Partition by entity (user_id, order_id)
- Single partition sacrifices parallelism
- Sequence numbers in message, reorder at consumer
Trade-off: Strict ordering limits parallelism. Design to minimize ordering requirements where possible.