配置 ActiveMQ 静态集群
静态集群是指配置的集群中所有ActiveMQ代理的IP地址实现都是已知的.
(1) 简单配置 目标是将3个运行于不同机器上的ActiveMQ代理互联起来.
3个代理名称 分别为 broker_96, broker_106 和 broker_245,配置文件基于默认的配置文件修改,
分别添加上网络连接器.
在 </destinationPolicy> 元素后面 添加下面的配置(以broker_96代理为例,static协议分别静态连接到另外两台机器上)
<networkConnectors>
<networkConnector name="local network" uri="static://(tcp://10.47.169.106:61616,tcp://10.47.169.245:61616)"/>
</networkConnectors>
其他两个代理的配置类似,但要注意,配置的IP地址为另外两个代理所在机器的IP.
配置好后,分别启动3个代理,注意在启动第一个代理时,因为其他两个代理 还没有启动
所以建立网络连接时会报错,如下所示:
WARN | Could not start network bridge between: vm://broker_96?async=false&network=true
and: tcp://10.47.169.245:61616 due to: java.net.ConnectException: Connection refused
但是,随着后面两个代理的启动,代理之间的网络连接会自动建立,控制台会显示如下信息:
INFO | Establishing network connection from vm://broker_106?async=false&network=true to tcp://10.47.169.245:61616
INFO | Network connection between vm://broker_106#16 and tcp:///10.47.169.245:61616@34272(broker_245) has been established.
表明代理之间的网络连接已经建立完成.
分别创建 publisher 发布消息到broker_96, consumer 连接broker_245,可以正常发送和接收消息.
说明 发送到broker_96上的消息被转发到broker_245了.
配置文件如下附件所示,分别为 96,106和245的配置文件