【问题标题】:How to limit rabbitmq's queue to wait for ack before send message to other channels如何限制rabbitmq队列在发送消息到其他通道之前等待ack
【发布时间】:2021-06-26 08:25:02
【问题描述】:

我有一个作为多个实例运行的应用程序(Kubernetes 上的 Pod)。

此应用程序使用 prefetch 1 从队列中消费消息,并在完成该过程后返回。

我有一个函数必须一次只能从一个实例运行。但是队列会尝试将下一条消息发送给其他实例消费者。

是否有办法阻止其他消费者不接收消息或阻止队列在确认之前不发送消息?

非常感谢

【问题讨论】:

  • 一旦你接受了一条消息(但不确认它),只要你的消费者连接保持活跃,它就处于非就绪状态。检查您的连接是否断开。

标签: .net kubernetes rabbitmq


【解决方案1】:

我现在在 Rabbit MQ 文档上找到了解决方案。 我只需要在声明队列时添加一个参数“x-single-active-consumer”。

https://www.rabbitmq.com/consumers.html#single-active-consumer

【讨论】:

    猜你喜欢
    • 2020-03-14
    • 2013-11-15
    • 1970-01-01
    • 2015-04-20
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    相关资源
    最近更新 更多