当前位置:  开发笔记 > 后端 > 正文

RabbitMQ消息使用者停止使用消息

如何解决《RabbitMQ消息使用者停止使用消息》经验,为你挑选了0个好方法。

我们的团队处于尖峰冲刺阶段,可以在ActiveMQ或RabbitMQ之间进行选择.我们制作了2个小生产者/消费者峰值,发送一个包含16个字符串,时间戳和2个整数的数组的对象消息.我们的开发机器上的峰值是可以的(消息很好用).

然后是替补席.我们首先注意到,在我们的机器上,当我们发送大量消息时,消费者有时会挂起.它就在那里,但是垃圾堆积在队列中.

当我们进入板凳平台时:

集群的2台rabbitmq机器4核/ 3.2Ghz,4Gb RAM,由VIP负载均衡

在rabbitmq机器上运行的一到六个消费者,将消息保存在mysql DB中(DB的相同类型的机器)

在12台AS机器(tomcat)上运行的12个生产者,在另一台机器上运行的jmeter攻击.在产生相同RabbitMQ消息负载的servlet上,负载大约是每秒600到700个http请求.

我们注意到有时候,消费者会挂起(好吧,他们没有被阻止,但他们不再消费消息).我们可以看到,因为每个消费者在数据库中节省大约100 msg /秒,所以当一个人停止消费时,每秒在DB中保存的整体消息会以相同的比率下降(如果让3个消费者停止,我们会下降到大约600 msg /秒至300毫秒/秒).

在此期间,生产商可以,并仍然以jmeter速率(约600毫克/秒)生产.消息在队列中并由消费者保持"活着".

我们先将所有servlet加载到生成器,然后逐个启动所有使用者,检查连接是否正常,然后运行jmeter.

我们正在向一个直接交换机发送消息.所有消费者都在监听与交易所有关的一个持久队列.

这一点对我们的选择很重要.你有没有看过Rabbitmq,你知道发生了什么吗?

谢谢您的回答.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有