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

关于NATS消费者MaxDelivery设置及流限制生效问题的问询

关于NATS JetStream WorkerQueue流的消息留存问题解答

核心问题一:达到MaxDelivery的未确认消息是否不受流限制约束?

是的,你的理解完全正确:

  • 当消息达到消费者设置的MaxDelivery(比如4次)仍未被确认时,这类消息会绕过流的max age、max bytes等保留限制,持续留存于流中,不会被自动清理。
  • 这类消息必须通过JetStream API手动删除,否则会持续占用存储,带来流膨胀的风险。
  • 建议配置**死信流(Dead Letter Stream)**来自动转移这类无法处理的消息,既避免主流存储占用过高,也能集中处理失败消息。

核心问题二:MaxDelivery设为-1(无限重试)时,流限制是否仍生效?

当MaxDelivery设为-1(无限重试)时:

  • 不会触发"达到投递次数留存"的机制,消息会持续被重试投递,直到被消费者确认。
  • 流的max age、max bytes等保留限制依然完全生效——只要消息满足流的过期或容量阈值,就会被自动清理,不会因为无限重试而一直留存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:27:03