我正在尝试设置Rabbitmq中特定队列的溢出行为,以拒绝超过最大限制的消息。我正在使用web控制台添加一个新队列并设置x-max-length。然后,我手动添加了x-overflow,并将其值设为reject-publish。但似乎默认的溢出行为是正在应用的行为,即删除旧消息并将新消息排入队列。
我定义溢出行为的方式是错误的吗?有人能告诉我应该如何通过web控制台设置溢出行为吗?
发布于 2019-07-05 04:16:47
它不能通过web gui工作,只能通过cli。示例:
rabbitmqctl set_policy limit-1gb ".*" '{"max-length-bytes":1000000000,"overflow":"reject-publish"}' --apply-to queuesrabbitmqctl set_policy limit-1m ".*" '{"max-length":1000000,"overflow":"reject-publish"}' --apply-to queues发布于 2020-11-27 01:01:35
x-overflow选项仅适用于传统队列,不适用于法定队列。因此,如果您使用的是quorum queue,这就是解释。
目前(在Rabbit 3.8.5中) quorum队列只支持drop-head溢出,不支持reject-publish或reject-publish-dlx。
https://stackoverflow.com/questions/51947838
复制相似问题