Activemq AMQ负载平衡群集设置

Activemq AMQ负载平衡群集设置,activemq,cluster-computing,load-balancing,Activemq,Cluster Computing,Load Balancing,我知道有很多关于AMQ集群的if信息,但我不知道如何设置。。 我需要一个负载平衡集群,有两台机器,每台机器上有两个实例,比如192.168.0.1(instance1,instance2)192.168.0.2(instance3,instance4)。 我的openwire端口是0.0.0.0:61617-0.0.0.0:61620。 在internet上找到了一些解决方案,如: 实例1 <networkConnectors> <networkConnector name=

我知道有很多关于AMQ集群的if信息,但我不知道如何设置。。 我需要一个负载平衡集群,有两台机器,每台机器上有两个实例,比如192.168.0.1(instance1,instance2)192.168.0.2(instance3,instance4)。 我的openwire端口是0.0.0.0:61617-0.0.0.0:61620。 在internet上找到了一些解决方案,如:

实例1

<networkConnectors>
 <networkConnector name="instance1-instance3-instance4" uri="masterslave:(tcp://192.168.0.2:61619,tcp://192.168.0.2:61620)" />
</networkConnectors>
<persistenceAdapter>
 <kahaDB directory="${activemq.data}/kahadb1" />
</persistenceAdapter>

实例2:

<networkConnectors>
 <networkConnector name="instance2-instance3-instance4" uri="masterslave:(tcp://192.168.0.2:61619,tcp://192.168.0.2:61620)" />
</networkConnectors>
<persistenceAdapter>
 <kahaDB directory="${activemq.data}/kahadb1" />
</persistenceAdapter>

实例3:

<networkConnectors>
 <networkConnector name="instance3-instance1-instance2" uri="masterslave:(tcp://192.168.0.1:61617,tcp://192.168.0.1:61618)" />
</networkConnectors>
<persistenceAdapter>
 <kahaDB directory="${activemq.data}/kahadb2" />
</persistenceAdapter>

实例4:

<networkConnectors>
 <networkConnector name="instance4-instance1-instance2" uri="masterslave:(tcp://192.168.0.1:61617,tcp://192.168.0.1:61618)" />
 <networkConnector name="FAILOVER" 
        uri="static:(failover:(tcp://192.168.0.1:61617,tcp://192.168.0.2:61619,tcp://192.168.0.1:61618,tcp://192.168.0.2:61620))?randomize=false" 
        dynamicOnly="true" 
        networkTTL="4" 
        duplex="true"/>
</networkConnectors>
<persistenceAdapter>
 <kahaDB directory="${activemq.data}/kahadb2" />
</persistenceAdapter>

当一个节点发生故障时,instance4会使用此故障转移字符串重新连接到另一个节点,并相互连接。但我不知道它是工作良好还是不工作,请告诉我?? 也许有人制作了LB集群,可以提供xml文件?请。如果我的英语不太好,我很抱歉。我来自其他国家)

扩展ActiveMQ部署的解决方案(从代理的角度来看是负载平衡)称为代理网络。网络由多个逻辑节点组成,您似乎正在设置这些节点。这些节点可以是主从式,以覆盖机器故障等


您可以查看ActiveMQ发行版中的一些配置示例。

您所问的问题有点不清楚,我无法理解我的第一条消息中的代理网络是如何工作的。它是否平衡了信息,我如何测试:)对不起,我的英语水平,这一切取决于消费者。如果broker1和broker2连接在一个代理网络中-如果broker2有一个连接的使用者,并且broker1有消息(在特定的目标上),则消息将从broker1流到broker2。在一个特定队列上的多个使用者之间的负载平衡将在一个代理网络中发生,在一个具有多个使用者的单个代理上也是如此。好的,我理解,非常感谢。为什么当我连接客户端时,只有第一个代理收到消息?使用者-Durl=故障转移:(tcp://192.168.0.1:61617,tcp://192.168.0.2:61619,tcp://192.168.0.1:61618,tcp://192.168.0.2:61620)?随机化=两个代理上的消费者数量均为1。如果使用者-Durl=故障转移:(tcp://192.168.0.2:61619,tcp://192.168.0.1:61618,tcp://192.168.0.2:61620)?randomize=false(没有第一个地址,那么负载平衡工作正常)。是否有人可以将文档链接发布到设置代理网络以分配负载?