In enterprise environments, maintaining message ordering while scaling throughput is a typical use case. Standard ordered delivery often relies on a Single Active Consumer (SAC) with a prefetch count of 1. While this guarantees strict ordering, it creates a significant performance bottleneck by limiting processing to a single message at a time per queue.
All Supported RabbitMQ versions
A common approach to scaling out queues involves using sharding to increase parallelism, and thereby, throughput.
Super-Streams provides a way to scale out by partitioning a large stream into smaller streams. It integrates with Single Active Consumer(SAC) to preserve message order within a partition.
If Super-Streams aren't the right fit, exchange types offer similar "routing-based" scaling: