You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:55:23