三台服务及 安装rabbitmq 并且配置好集群
服务器配置
A 12核 内存 16G
B 4核 内存 12G
C 2核 内存 12G
查看日志发现出现 reply-text=TIMEOUT WAITING FOR ACK错误
2022-04-24 11:08:15.643 [rabbitConnectionFactory817] ERROR o.s.a.rabbit.connection.CachingConnectionFactory - Channel shutdown: clean channel shutdown; protocol method: #method<channel.close>(reply-code=406, reply-text=TIMEOUT WAITING FOR ACK, class-id=0, method-id=0) 2022-04-24 11:08:15.643 [rabbitConnectionFactory361] ERROR o.s.a.rabbit.connection.CachingConnectionFactory - Channel shutdown: clean channel shutdown; protocol method: #method<channel.close>(reply-code=406, reply-text=TIMEOUT WAITING FOR ACK, class-id=0, method-id=0) 2022-04-24 11:08:15.643 [rabbitConnectionFactory726] ERROR o.s.a.rabbit.connection.CachingConnectionFactory - Channel shutdown: clean channel shutdown; protocol method: #method<channel.close>(reply-code=406, reply-text=TIMEOUT WAITING FOR ACK, class-id=0, method-id=0)
当出现这个错 导致channel不能回收 直接导师 channel耗尽的问题
一开始思路是去扩充channel数量 后面发现 扩充到1w都不够用
还是要从TIMEOUT WAITING FOR ACK 这个问题入手
参考:https://linzhiqiang.blog.csdn.net/article/details/107847165 这篇文章 可能是出现了限流 然后查看C服务器占用内存过高 由于C服务器配置太拉胯 直接踢出集群 问题解决!
总结:
1、rabbitmq集群模式 决定性能的 性能最差的那个服务器
2、注意rabbitmq限流可能产生TIMEOUT WAITING FOR ACK 进而导致channel耗尽的情况