RabbitMQ 消息积压与 Prefetch 的排障实战
RabbitMQ 消息积压并不总能靠增加消费者解决。Ready 下降可能只是消息转为 Unacked,Prefetch 调大也不等于业务并发提升。本文从消息状态、确认语义与客户端排队入手,分析过度预取、下游容量不足及并发配置失效等原因,给出队列与通道诊断命令,并通过 PerfTest 设计对照实验。最后结合幂等处理、有限重试、资源预算和清空时间估算,建立以业务完成率及端到端延迟为核心的排障与调优方法。
这个话题下有 1 篇手记。
RabbitMQ 消息积压并不总能靠增加消费者解决。Ready 下降可能只是消息转为 Unacked,Prefetch 调大也不等于业务并发提升。本文从消息状态、确认语义与客户端排队入手,分析过度预取、下游容量不足及并发配置失效等原因,给出队列与通道诊断命令,并通过 PerfTest 设计对照实验。最后结合幂等处理、有限重试、资源预算和清空时间估算,建立以业务完成率及端到端延迟为核心的排障与调优方法。