我已经用如下的拓扑配置了代理网络。
B1。
客户端被配置为将故障转移用作:
tcp://localhost:61616,tcp://localhost:61615?randomize=false
一旦信道-2下降,P2和C2转移到通道-1,这是故障转移的理想行为。
我想了解香奈儿2号回来后的行为?我注意到只有Channel-1继续为所有连接提供服务,即使在Channel-2已经恢复并且因此失去了通道之间的负载平衡之后。
我想知道,一旦Channel-2回来,负载平衡是否可能在信道和相应的生产者-2,消费者-2之间自动启动,然后转移到Channel-2,从而提供全面的负载平衡和完全故障转移?
我在http://fusesource.com/docs/broker/5.4/clustering/index.html上遇到了一篇关于“将容错与负载平衡结合起来”的文章,这是否建议将容错与负载平衡结合起来?
致以敬意,
-Amber
发布于 2011-08-13 16:40:23
在两个代理程序上,都需要设置transportConnector以启用updateClusterClients和rebalanceClusterClients。
<transportConnectors>
<transportConnector name="tcp-connector" uri="tcp://192.168.0.23:61616" updateClusterClients="true" rebalanceClusterClients="true" />
</<transportConnectors>具体来说,您应该需要rebalanceClusterClients。从http://activemq.apache.org/failover-transport-reference.html的文档中可以看出:
如果是
,则当新代理加入代理网络时,连接的客户端将被要求跨代理集群进行再平衡。
您必须使用ActiveMQ 5.4或更高版本才能使用这些选项。
发布于 2012-09-07 04:36:14
作为对后续问题的回答:“是否有一种方法可以像本文中讨论的那样记录代理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>https://stackoverflow.com/questions/7039838
复制相似问题