首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EasyNetQ -送货顺序

EasyNetQ -送货顺序
EN

Stack Overflow用户
提问于 2014-06-20 15:33:37
回答 1查看 890关注 0票数 1

来自RabbitMQ - Message order of delivery

AMQP0-9-1核心规范第4.7节解释了保证排序的条件:在一个通道中发布的消息,通过一个交换、一个队列和一个传出通道的消息将按照发送的相同顺序接收。自2.7.0发行版以来,RabbitMQ提供了更强的保证。

这适用于EasyNetQ吗?我本来希望它能坚持下去的,但有时(但并不总是)我看到了一种不同的行为。

如果使用者是同步的(还不是我的情况;我有锁定,但它开始于" If“(在本例中总是为false )之后),我是否应该相信消息是按发布的顺序使用的呢?(相同类型的消息,相同的来源,去同一个目的地),还是这里有其他元素在EasyNetQ内部发挥作用,我应该知道哪些元素没有保留消息的传递顺序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-23 08:20:06

EasyNetQ实现了每个IBus实例的单个使用者线程,因此如果您使用标准的非异步订阅方法,您的消息处理程序将按照RabbitMQ传递消息的相同顺序同步触发。不应该需要实现锁。如果您使用异步订阅,则仍将按顺序调用处理程序,但当然,根据您实现异步处理程序的方式,它们可能会出现顺序混乱。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24330864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档