centos

rabbitmq消息丢失如何排查centos环境

小樊
33
2025-12-13 13:17:06
栏目: 智能运维

CentOS 环境下 RabbitMQ 消息丢失排查与定位

一 快速定位流程

二 常见根因与对应排查要点

环节 典型根因 快速验证 修复建议
生产者 未启用 confirm/return,网络抖动导致“以为成功” 日志无 confirm 回调或存在 nack/return 启用 confirm 与 return;为消息设唯一 msgId 与重试;处理幂等
Broker 队列/消息未持久化,节点重启即丢 队列非 durable 或消息 delivery_mode≠2 队列/交换机/消息均持久化;结合 confirm 确保落盘再 ack
Broker 未命中队列被丢弃(无路由) 开启 return 后收到未路由通知 修正 routing key/exchange 绑定;为关键消息配置 mandatory=true 与 DLQ
Broker 集群分区或镜像不同步 cluster_status 显示 partitionedsynchronised_slave_nodes 为空 按策略恢复分区;修复/重建镜像;必要时回放未确认消息
消费者 autoAck=true 或处理中宕机 Unacked 突降且业务未成功 改为手动 ack;异常时 nack 并 requeue 或入 DLQ;处理幂等
资源 磁盘满/内存压力触发流控或异常 df -h/free -m 告警;日志流控提示 扩容磁盘/内存;清理无用队列;降低突发流量

三 关键命令与操作清单

四 临时止血与后续加固

0
看了该问题的人还看了