gpt4 book ai didi

rabbitmq - RabbitMQ 独占队列与独占消费者之间有什么区别?

转载 作者:行者123 更新时间:2023-12-04 14:22:22 34 4
gpt4 key购买 nike

无法理解 exclusive queueexclusive consumer 之间的区别,想知道我是否理解正确。

假设我有一个 queueconsumer1consumer2

我的理解是:

独占队列

如果queueexclusive queue并且是由consumer1创建的,只有consumer1可以访问队列,并且当 consumer1 宕机时,queue 被删除。听起来消息随后丢失了。

专属消费者

如果 queue 不是独占的并且是由 consumer1 创建的,那么 consumer1consumer2 都可以读取它。如果 consumer1 出现故障,consumer2 可以从中断的地方继续。如果consumer1exclusive consumer并且首先开始订阅,那么consumer2不能访问queue,而它被消费者 1

exclusive queue 对我来说听起来像是一个奇怪的用例,而 exclusive consumer 听起来像是“一次只有一个消费者应该从队列中处理”的正确解决方案。

最佳答案

我认为它们之间的区别在于,对于 exclusive 队列,它只能由位于用于声明队列的同一连接上的 consumers 使用。当此连接关闭或断开时,exclusive 队列由rabbitmq 自动关闭。它的用例是您通常希望在 exclusive(私有(private))消费者退出或断开连接时销毁队列。

而普通 queue 上的 exclusive 消费者的用例略有不同。私有(private)消费者可能已经离开或断开连接,但另一个消费者可以成为下一个 exclusive 消费者的继任者,并且它可能不必与那个消费者在同一个 rabbitmq 连接上用于声明queue

本质上,这两种用例都是关于允许对队列进行独占访问,但后者不那么严格。

关于rabbitmq - RabbitMQ 独占队列与独占消费者之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52859863/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com