ActiveMQ Artemis 2.27.1拓扑配置异常问题咨询
ActiveMQ Artemis 2.27.1 拓扑配置异常问题
部署环境
- 3台服务器,每台包含1个master节点和1个slave节点,节点命名为A、B、C(master),A*、B*、C*(slave)
- 预期复制拓扑:A对应复制到B*,B对应复制到C*,C对应复制到A*
配置示例
Master A 的 broker.xml 关键配置
<connectors> <connector name="Master_A">tcp://[HOSTNAME]:[A_MASTER_PORT]</connector> <connector name="Master_B">tcp://[HOSTNAME]:[B_MASTER_PORT]</connector> <connector name="Master_C">tcp://[HOSTNAME]:[C_MASTER_PORT]</connector> <connector name="Slave_B">tcp://[HOSTNAME]:[B_SLAVE_PORT]</connector> </connectors> <cluster-connections> <cluster-connection name="artemis-cluster"> <address></address> <connector-ref>A_master_connector</connector-ref> <check-period>30000</check-period> <connection-ttl>60000</connection-ttl> <min-large-message-size>102400</min-large-message-size> <call-timeout>30000</call-timeout> <retry-interval>500</retry-interval> <retry-interval-multiplier>1.0</retry-interval-multiplier> <max-retry-interval>5000</max-retry-interval> <initial-connect-attempts>-1</initial-connect-attempts> <reconnect-attempts>-1</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> <message-load-balancing>ON_DEMAND</message-load-balancing> <max-hops>1</max-hops> <confirmation-window-size>1048576</confirmation-window-size> <call-failover-timeout>-1</call-failover-timeout> <notification-interval>1000</notification-interval> <notification-attempts>2</notification-attempts> <static-connectors allow-direct-connections-only="true"> <connector-ref>Master_B</connector-ref> <connector-ref>Master_C</connector-ref> <connector-ref>Slave_B</connector-ref> </static-connectors> </cluster-connection> </cluster-connections> <ha-policy> <replication> <master> <check-for-live-server>true</check-for-live-server> <vote-on-replication-failure>false</vote-on-replication-failure> </master> </replication> </ha-policy>
Slave B* 的 broker.xml 关键配置
<connectors> <connector name="Slave_B">tcp://[HOSTNAME]:[B_SLAVE_PORT]</connector> <connector name="Master_A">tcp://[HOSTNAME]:[A_MASTER_PORT]</connector> </connectors> <cluster-connections> <cluster-connection name="artemis-cluster"> <address></address> <connector-ref>B_slave_connector</connector-ref> <check-period>30000</check-period> <connection-ttl>60000</connection-ttl> <min-large-message-size>102400</min-large-message-size> <call-timeout>30000</call-timeout> <retry-interval>500</retry-interval> <retry-interval-multiplier>1.0</retry-interval-multiplier> <max-retry-interval>5000</max-retry-interval> <initial-connect-attempts>-1</initial-connect-attempts> <reconnect-attempts>-1</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> <message-load-balancing>ON_DEMAND</message-load-balancing> <max-hops>1</max-hops> <confirmation-window-size>1048576</confirmation-window-size> <call-failover-timeout>-1</call-failover-timeout> <notification-interval>1000</notification-interval> <notification-attempts>2</notification-attempts> <static-connectors allow-direct-connections-only="true"> <connector-ref> Master_A</connector-ref> </static-connectors> </cluster-connection> </cluster-connections> <ha-policy> <replication> <slave> <max-saved-replicated-journals-size>-1</max-saved-replicated-journals-size> <restart-backup>false</restart-backup> <allow-failback>true</allow-failback> <vote-on-replication-failure>false</vote-on-replication-failure> </slave> </replication> </ha-policy>
问题描述
按Artemis文档推荐的顺序启动节点:先启动所有master节点,再启动所有slave节点。但实际拓扑不符合预期配置,master节点连接到了错误的slave节点,尽管已在集群连接中配置allow-direct-connections-only="true"。
内容的提问来源于stack exchange,提问作者Matan Faragian
相关产品推荐
相关产品推荐

