声明Exclusive队列的理解

来源:2-11 生产者消费者模型构建-2

G91

2019-07-28

老师,您好,有3个问题想确认一下:
1.我对exclusive队列的理解是当多个consumer对对同一个队列声明exclusive的时候,第一个抢占到该队列的消费者将会永远占有对这个队列消费的权力,一直到这个consumer挂掉后,别的consumer才有机会来抢占这个队列。
2.如果rabbitmq集群中有多个broker,生产者生产了10个顺序数据(假设为1-10),这些数据是否会分布在不同的broker上面的queue上?如果是的话消费者是如何保证顺序收到这些数据的?

写回答

1回答

阿神

2019-07-29

问题1,对的,表示独占的方式。
问题2,如果想要保证顺序消费,必须要做到所有的消息都投递到同一个队列中去,并且rabbit不支持顺序。所以需要自己做顺序消费,比如先做持久化,然后排序依次去执行

0
1
莨菽菽
这里的rabbit不支持顺序的意思是,就算在同一个队列,比如本来生产者发送消息顺序是1,2,3,但是在rabbit里面存储的时候不一定是1,2,3,所以消费者取出来的顺序不一定是1,2,3,还要再自己持久化后排序消费?(如果是这样的话,怎么标明消息的顺序?)
2020-06-22
共1条回复

RabbitMQ精讲 从0到1驾驭RabbitMQ应用与设计

从0到1,全面深入掌握RabbitMQ消息中间件技术

1460 学习 · 443 问题

查看课程