私信  •  关注

Gabriele

Gabriele 最近创建的主题
Gabriele 最近回复了
6 年前
回复了 Gabriele 创建的主题 » rabbitmq-如何查找队列模式(默认或懒惰)

您可以使用HTTP API执行此操作: 例如,具有所有属性的队列列表:

curl  -u guest:guest 'localhost:15672/api/queues'

你必须找到:

"mode": "lazy"

"arguments": {
            "x-queue-mode": "lazy"
        },

简单地说:

curl  -u guest:guest \
    'localhost:15672/api/queues' | python -m json.tool | grep '"mode": "lazy"' -A 50 -B 10

curl  -u guest:guest \
    'localhost:15672/api/queues' | python -m json.tool | grep '"x-queue-mode"' -A 80 -B 3

或者用某种语言。

6 年前
回复了 Gabriele 创建的主题 » rabbitmq竞争的消费者一次按顺序处理1条消息

如果一个队列中有多个消费者,那么就没有办法阻止其中一个消费者,所有人都以循环方式接收消息。

rabbitmq正在处理这个问题 feature : 引入只激活一个并发使用者的选项

你可以看到这个插件, https://github.com/rabbitmq/rabbitmq-consistent-hash-exchange 使用不同的队列分配负载。

我尝试将预取计数设为1

prefetch=1 意味着消费者一次只接受一条信息。

我们需要实现我们自己的锁吗

是的,如果你想的话 一个 避免其他消费者排队的消费者。

编辑

还有 Exclusive Queues https://www.rabbitmq.com/queues.html#exclusive-queues 但是 笔记 :

独占队列在其声明连接关闭或消失时(例如,由于底层TCP连接丢失)将被删除。因此,它们仅适用于客户特定的瞬态状态。