我是 ActiveMQ Artemis 的新手,请社区检查我在代理 HA 集群的配置中是否正确,或者我可能应该以其他方式配置它们,因为我还没有找到关于我的案例的详细教程。所有代理都在同一台机器上运行。
场景:
端口上有一个主节点,端口和61617上有两个从节点(slave1、slave2)。如果主节点死亡,其中一个从节点将变为活动状态(复制模式)。6161861619
消费者有必要像“黑匣子”一样与集群进行通信。我的意思是,主服务器的更改(即主服务器死亡时)不应该对消费者(即它连接到集群的方式)产生任何影响。
我设法做了什么(据我所知,在这种情况下,我们应该只配置集群、接受器和连接器属性,因此我只附加代理配置的这一部分):
主经纪人:
<connectors>
<connector name="artemis">tcp://localhost:61617</connector>
</connectors>
<ha-policy>
<replication>
<master/>
</replication>
</ha-policy>
<acceptors>
<acceptor name="artemis">tcp://localhost:61617</acceptor>
</acceptors>
<cluster-user>cluster</cluster-user>
<cluster-password>cluster</cluster-password>
<broadcast-groups>
<broadcast-group name="bg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>5000</broadcast-period>
<connector-ref>artemis</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster">
<connector-ref>artemis</connector-ref>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>0</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
Run Code Online (Sandbox Code Playgroud)
Slave 1 Broker集群conf与master相同(通过控制台创建节点时自动配置--clustered)
<ha-policy>
<replication>
<slave/>
</replication>
</ha-policy>
<connectors>
<connector name="artemis">tcp://localhost:61618</connector>
<connector name="netty-live-connector">tcp://localhost:61617</connector>
</connectors>
<acceptors>
<acceptor name="artemis">tcp://localhost:61618 </acceptor>
</acceptors>
Run Code Online (Sandbox Code Playgroud)
Slave 2 …