AcriveMQ集群配置
·实现高可用,以排除单点故障引起的服务中断
·实现负载均衡以提升效率为更多客户提供服务
集群方式
·客户端集群:让多个消费者消费同一个队列
·boker cluster集群:让多个Boker之间同步消息
·Master Slave集群:高可用
AcriveMQ失效转移(failover)
允许当其中一台消息服务器宕机时,哭护短在传输层上重新连接到其它服务器
一、boker cluster集群
静态连接器(使用于拓展少,服务器少)
动态连接器
二、Master Slave集群
boker cluster集群+Master Slave集群的实现方案
在这里B和C进行了master slave 集群,并且B和A,C和A之间又进行了Broker Closter集群方案
1、解压三个activeMQ安装包,新建一个共享文件夹(后续修改持久化方案用的该路径)
2、activemq.xml 中修改A节点服务端口
<!-- 配置网络连接项目 --> <networkConnectors> <networkConnector name="local_network" uri="static:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)"/> </networkConnectors>
3.在jetty.xml中配置管理端端口
<property name="port" value="8163"/>
4.把相应B、C节点配置为master.slave
修改持久化方案地址
<persistenceAdapter> <kahaDB directory="D:/apache/activemq/kahadb"/> </persistenceAdapter>
5.配置B、C生产者随机转移策略
private static final String url = "failover:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)?randomize=true";
6.配置AB、C消费者随机转移策略
private static final String url = "failover:(tcp://127.0.0.1:61616,tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)?randomize=true";