You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ中basicNack批量消息含义及与basicReject的功能异同问询

问题1:basicNack中的批量消息指的是什么?

AMQP 0-9-1 规范原生定义的 basic.reject 方法,仅支持客户端单次拒绝一条已经投递的消息,调用时可以指定消息代理将被拒绝的消息直接丢弃,或是重新放回队列等待再次投递,但该方法不支持一次性操作多条消息。
basicNack 是协议扩展出来的否定确认方法,这里的批量消息指的是你可以通过一次调用,拒绝当前通道下所有小于你指定deliveryTag的未确认消息,不需要对每条消息单独发起拒绝请求,能大幅降低大流量消费场景下的通信开销。

问题2:当basicNack的multiple参数设置为false时,是否和basicReject功能完全一致?

是的,二者功能完全等价,没有任何区别。
当multiple参数设为false时,basicNack只会拒绝你传入的指定deliveryTag对应的单条消息,行为和basicReject完全一致,实际开发中可以根据编码习惯任选其一使用。
相关调用代码示例如下:

channel.basicNack(deliveryTag,false,true);
channel.basicReject(deliveryTag,true);

内容的提问来源于stack exchange,提问作者blue sky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 14:15:01