这是一个创建于 1299 天前的主题,其中的信息可能已经有所发展或是发生改变。
1. 服务器架构
在 tomcat 里会用 rabbitmq 的官方 api 给 mq 发消息,发送的消息是经 haproxy 代理后转给后面 2 台 mq 。
2. 问题描述
业务量高峰期会出现 rabbitmq 发送消息时 channel 阻塞的问题,看了日志昨天的一条消息发送阻塞了 12 多分钟,这条消息数据大概 24k 左右。我们发送消息是多线程去发送消息,但因为共用的都是这一个 channel 所以一个线程阻塞住,其他线程也会阻塞住,最终线程都会 block 住。查了下 mq 配置,内存和硬盘都还够用,mq 日志没报错。运维刚抓包看了下,很多 haprpxy 转给 mq 的包被 reset 了,不是很懂为啥会 reset 。
哪位能提出解决方案,我愿充话费 100 元为谢。