我试图决定我是否会通过以下方式从网络连接到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 大多数情况下会在随机时间(在收到每条消息之前)断开连接。
问题:
我可以在解决方案 1 中更新任何限制配置吗?
解决方案1的问题是由于:Sockjs?跺脚插件?跺脚网络插件?他们全部?我不明白为什么如果我在中间添加 nodejs 比 rabbitmq 中的嵌入式 erlang 插件(rabbitmq stomp /rabbitmq web stomp 插件)要快得多。
注意:stomp 插件或 stomp web 插件永远不会消失。它总是继续监听他们的端口。
我的简单解释是浏览器无法处理如此多的顺序消息,而 nodejs 可以很好地处理这一点,而 rabbitmq web stomp 则不能。但也只是猜测。这个对吗?如果是这样,我该如何解决?
解决方案 1 不应该比解决方案 2 更好(延迟方面)?
注意:如果我在发布者中添加每条消息发送之间的 5 毫秒差异,则此问题将消失,并且解决方案 1 的执行与解决方案 2 类似(对于 10.000 条消息)。
感谢您的任何回答。
此致,
爱德华多