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

Pulsar中调用negativeAcknowledge()的消息何时会被重新投递?

调用consumer.negativeAcknowledge(messageId)对消息做否定确认后,消息的重投时间由客户端的negativeAckRedeliveryDelay参数决定。

Pulsar官方客户端的该参数默认值为30秒,也就是默认情况下,调用否定确认后,对应消息会在30秒后被Broker重新投递给消费者重试。

补充说明:

  • 该配置和消息确认超时(ack timeout)配置相互独立,否定确认触发的重投优先级更高,不受ack超时时间影响。
  • 你可以在构造消费者时自定义该延迟时长,以Java客户端为例,配置方法为consumerBuilder.negativeAckRedeliveryDelay(自定义时长, 时间单位),比如设置为10秒的话就是consumerBuilder.negativeAckRedeliveryDelay(10, TimeUnit.SECONDS)。
  • 如果处理的是批量消息,默认调用单条消息的否定确认会触发整批消息重投,需要单独处理批量内单条消息的话要额外开启批量消息的独立确认配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:24:03