根据 docs,RabbitMQ 中的队列是有序的消息集合。消息以 FIFO 方式入队和出队(交付给消费者)。优先级和分片队列不保证 FIFO 顺序。多个竞争消费者的存在、消费者优先级、消息重新传递也会影响排序。这适用于任何类型的重新交付:渠道关闭和负面消费者确认后自动。应用程序可以假定在单个通道上发布的消息将按发布顺序排入它们路由到的所有队列中。当发布发生在多个连接或通道上时,它们的消息序列将同时路由和交错。那么,RabbitMQ 如何假定在单个通道上发布的消息将按发布顺序排队?
我刚刚开始学习 RabbitMQ,并希望弄清楚它是如何工作的。谁能找到相应的实现代码就更好了,谢谢!