Activemq 主动MQ-代理网络

Activemq 主动MQ-代理网络,activemq,Activemq,我已经用如下拓扑配置了代理网络 生产者(P1)与经纪人(B1)相连,生产者(P2)与经纪人(B2)相连 经纪人(B1)和经纪人(B2)作为经纪人网络连接,并且是laod平衡 连接到代理(B1)的消费者(C1)和连接到代理(B2)的消费者(C2) 客户端被配置为将故障切换用作: 使用者-1=故障转移:tcp://localhost:61616,tcp://localhost:61615?randomize=false 使用者-2=故障转移:tcp://localhost:61615,tcp:

我已经用如下拓扑配置了代理网络

  • 生产者(P1)与经纪人(B1)相连,生产者(P2)与经纪人(B2)相连
  • 经纪人(B1)和经纪人(B2)作为经纪人网络连接,并且是laod平衡
  • 连接到代理(B1)的消费者(C1)和连接到代理(B2)的消费者(C2)
客户端被配置为将故障切换用作:

  • 使用者-1=故障转移:tcp://localhost:61616,tcp://localhost:61615?randomize=false
  • 使用者-2=故障转移:tcp://localhost:61615,tcp://localhost:61616?randomize=false
一旦通道2关闭,P2和C2将切换到通道1,这是故障切换所需的行为

我想了解Chaneel-2回来时的行为? 我注意到只有第一频道继续为所有人服务 即使在通道2恢复之后,连接也会中断,从而失去通道之间的负载平衡

我想知道,一旦通道2返回,是否有可能在通道和相应的生产者2、消费者2切换到通道2之间自动启动负载平衡,从而实现完全负载平衡和完全故障切换

我在上读到一篇文章“将容错与负载平衡相结合” 是否建议将容错和负载平衡相结合

问候,


-琥珀色

在两个代理上,您需要设置transportConnector以启用UpdateClusterClient和RebalanceClusterClient

 <transportConnectors>
   <transportConnector name="tcp-connector" uri="tcp://192.168.0.23:61616" updateClusterClients="true" rebalanceClusterClients="true" /> 
 </<transportConnectors>


作为对您后续问题的回答: “是否有一种方法可以记录本文中讨论的代理URI?”

为了显示哪个客户端连接到哪个代理, 修改客户端的Log4j配置,如下所示:

<log4j:configuration debug="true"
                     xmlns:log4j="http://jakarta.apache.org/log4j/">

    ...

    <logger name="org.apache.activemq.transport.failover.FailoverTransport">
        <level value="debug"/>
    </logger>

    ...

</log4j:configuration>

...
...

您好,谢谢您的发帖,我确实按照上面提到的方法配置了代理。I配置为(A)P1连接到B1,C1连接到B1(B)C2连接到B2。(C) B1-B2作为代理的网络。您好,感谢您的发布,我确实按照上面提到的方式配置了代理。我配置了(1)P1连接到B1,C1连接到B1(2)C2连接到B2。(3) B1-B2作为经纪人的网络。在B2开始时,我可以看到B1/B2之间开始平衡。一旦B2下降,所有连接将切换到B1。我想了解,如果B2返回,C2将使用来自B2的消息,平衡是否仍然有效。我如何证明B2返回时是否进行了平衡。有没有一种方法可以像本文中讨论的那样记录代理URI?您可以从JMX进行监视,也可以查看代理的建议消息。