【问题标题】:Rabbitmq x-overflow reject-publish does not work when set via web console通过 Web 控制台设置时,Rabbitmq x-overflow reject-publish 不起作用
【发布时间】:2018-08-21 11:36:08
【问题描述】:

我正在尝试在 Rabbitmq 中设置特定队列的溢出行为以拒绝超过最大限制的消息。我正在使用 Web 控制台添加一个新队列并设置 x-max-length。然后我手动添加了 x-overflow 并赋予它拒绝发布的值。但似乎默认溢出行为是正在应用的行为,其中旧消息被删除,新消息被排队。

我定义溢出行为的方式是否错误?有人可以指出我应该如何通过网络控制台设置溢出行为吗?

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    它不能通过 web gui 工作,只能通过 cli。 示例:

    rabbitmqctl set_policy limit-1gb ".*" '{"max-length-bytes":1000000000,"overflow":"reject-publish"}' --apply-to queues
    
    rabbitmqctl set_policy limit-1m ".*" '{"max-length":1000000,"overflow":"reject-publish"}' --apply-to queues
    

    【讨论】:

      【解决方案2】:

      x-overflow 选项仅适用于经典队列,不适用于仲裁队列。因此,如果您使用的是仲裁队列,这就是解释。

      目前(在 Rabbit 3.8.5 中)仲裁队列仅支持 drop-head 溢出,不支持 reject-publish 或 reject-publish-dlx。

      【讨论】:

        猜你喜欢
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2015-12-05
        • 2017-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-05
        相关资源
        最近更新 更多