RabbitMQ - 有没有办法限制队列中的消息数量?
RabbitMQ - Is there a way to limit the number of messages in a queue?
有没有办法限制 RabbitMQ 中队列可以容纳的最大消息数?
例如,如果这个数字设置为10,当前大小为10,当有新消息被推入队列(FIFO)时,最旧的消息将被丢弃。
是的,有 x-max-length 属性:
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-max-length", 10);
channel.queueDeclare("myqueue", false, false, false, args);
您也可以通过使用 rabbitmqctl 为其配置策略来实现此目的:
rabbitmqctl set_policy Ten ".*" '{"max-length":10}' --apply-to queues
当新消息进来时,最旧的消息将被丢弃。
可在此处找到详细信息:https://www.rabbitmq.com/maxlength.html
有没有办法限制 RabbitMQ 中队列可以容纳的最大消息数?
例如,如果这个数字设置为10,当前大小为10,当有新消息被推入队列(FIFO)时,最旧的消息将被丢弃。
是的,有 x-max-length 属性:
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-max-length", 10);
channel.queueDeclare("myqueue", false, false, false, args);
您也可以通过使用 rabbitmqctl 为其配置策略来实现此目的:
rabbitmqctl set_policy Ten ".*" '{"max-length":10}' --apply-to queues
当新消息进来时,最旧的消息将被丢弃。
可在此处找到详细信息:https://www.rabbitmq.com/maxlength.html