我试图通过以下方式决定是否从网络连接到rabbitmq:
解决方案1. Rabbitmq stomp插件+ Rabbitmq web stomp插件+ Sockjs
解决方案2. Rabbitmq + nodejs通过amqp nodejs插件
设想情况:
( a)我有一个web应用程序订阅了一个队列b)我有一个java应用程序正在写入该队列c)我有一个浏览器打开了解决方案1,另一个浏览器打开了解决方案2
我对两者进行了测试,结果是:
当我连续发送10.000条消息时,解决方案2比解决方案1要快得多。解决方案2从不松开连接。解决方案1大多数情况下都是在随机时间(在收到每条消息之前)松开连接。
问题:
注意:如果我在发布服务器中将每个消息发送之间的差加5毫秒,这个问题就消失了,解决方案1的执行情况类似于解决方案2(对于10.000条消息)。
谢谢你的回答。
诚挚的问候,
爱德华多
发布于 2012-12-02 12:16:22
您正在比较使用不同协议的服务器(node.js)和borwser客户端,当然它们是非常不同的!STOMP协议对于为消息传递提供轻量级和简单的客户端非常有用,例如浏览器JS。
我想,解决方案1可能在浏览器和连接SockJS使用的类型上有很大差异: XHR、WebSocket、IFrame.
https://stackoverflow.com/questions/12394766
复制相似问题