ActiveMQ 和随机化



假设我有以下 ActiveMQ 连接字符串:

故障转移:(TCP://Broker1:61616,TCP://broker2:61616)?randomize=true

我从具有此配置的 Java 生产者向代理发送了数千个请求。

有时我注意到所有消息最终只发送到一个代理,而另一个没有收到一条消息。

这是正常行为吗?

在 10 次测试中,我可能已经注意到了几次这种行为。在其他时候,两个经纪人都收到了消息。

随机化=真实如何工作?

我在 http://activemq.apache.org/failover-transport-reference.html 上找到的唯一解释是:"使用随机算法从提供的列表中选择用于重新连接的 URI"

故障转移传输上的随机化标志指示传输应随机选择一个配置的代理 URI 进行连接(在您的情况下,有两个可供选择。 一旦客户端连接到其中一个代理,客户端将保持愉快连接,并仅向该代理发送消息,直到发生中断连接的时间。 一旦连接中断,客户端将再次尝试连接到这两个代理之一。 因此,在您的情况下,单个生产者将其所有消息发送到一个代理意味着,它的工作方式也与预期一样。

相关内容

  • 没有找到相关文章

最新更新