首页 新闻 会员 周边

消息队列消费者接受消息顺序的问题

0
悬赏园豆:20 [已解决问题] 解决于 2018-02-28 17:08

今天看到一篇博文中,讲到了这个问题,问题描述是这样的:

假设,A和B通过消息队列通信,A发了先后发了2条消息m1和m2。A发出的顺序是m1、m2,结果m2先到达队列,m1后进的,那么在队列中m2在前m1在后,假设这两条消息是有依赖关系的,必须是先m1再m2,那么B可能先接收到m2后接收到m1,问这个时候怎么办?

BUTTERAPPLE的主页 BUTTERAPPLE | 老鸟四级 | 园豆:3190
提问于:2018-01-11 13:35
< >
分享
最佳答案
0

一般队列按收到顺序处理

消息本身是由业务定义的,你完全可以在消息里指明依赖

收获园豆:20
nameforcnblogs | 初学一级 |园豆:131 | 2018-01-12 12:31

您的意思是:我在入队列前就已经排好顺序了对吧?

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2018-01-12 12:45

@BUTTERAPPLE: 

队列保证按接受的顺序出队,业务上的依赖不属于他的职责

你可以在处理消息的地方处理依赖关系

nameforcnblogs | 园豆:131 (初学一级) | 2018-01-12 16:50
其他回答(1)
0

是否能用类似于TCP的协议头中的ACK 来确定消息的顺序呢?

Bluto | 园豆:317 (菜鸟二级) | 2018-01-11 13:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册