首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主动MQ -经纪人网络

主动MQ -经纪人网络
EN

Stack Overflow用户
提问于 2011-08-12 12:07:40
回答 2查看 1.6K关注 0票数 4

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

  • Producer(P1)连接到Broker(B1),生产者(P2)连接到Broker(B2),
  • Broker(B1)和Broker(B2)连接为经纪人网络,laod平衡
  • 消费者(C1)与经纪人(B1)连接,消费者(C2)连接到Broker(B2)

B1。

客户端被配置为将故障转移用作:

tcp://localhost:61616,tcp://localhost:61615?randomize=false

  • Consumer-2 =:tcp://localhost:61615,tcp://localhost:61616?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

EN

回答 2

Stack Overflow用户

发布于 2011-08-13 16:40:23

在两个代理程序上,都需要设置transportConnector以启用updateClusterClients和rebalanceClusterClients。

代码语言:javascript
复制
 <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或更高版本才能使用这些选项。

票数 4
EN

Stack Overflow用户

发布于 2012-09-07 04:36:14

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

为了显示什么客户端连接到什么代理,修改客户机的Log4j配置如下:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7039838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档