【发布时间】:2014-08-11 10:10:14
【问题描述】:
来自RabbitMQ - Message order of delivery
AMQP 0-9-1 核心规范的第 4.7 节解释了 保证排序的条件:发布的消息 一个通道,经过一个交换和一个队列和一个 传出通道将按照与它们相同的顺序被接收 发送。自 2.7.0 版以来,RabbitMQ 提供了更强大的保证。
这适用于 EasyNetQ 吗?我原以为它会保持不变,但我有时(但并非总是)会看到不同的行为。
如果消费者是同步的(还不是我的情况;我有锁定但它在“如果”之后开始,在这种情况下总是错误的),我应该相信消息按照发布的顺序被消费吗? (相同类型的消息,相同的来源,到达相同的目的地)或者 EasyNetQ 内部是否还有其他元素在起作用,我应该注意哪些不保留消息传递顺序?
【问题讨论】: