ActiveMQ的集群部署方式主要有三种:
Master-Slave集群主要解决了单点故障的问题,Master-Slave集群中的一个节点挂掉,其他的节点任然可用,服务就任然可用。集群搭建好之后在代码中测试时,只需要修改brokerUrl的值,如”failover:(tcp://master:61616,tcp://salve:61616)?initialReconnectDelay=100”
Broker-Cluster集群通过网络连接,将多个broker组合,对外构成一个整体,集群之间共享队列和主题列表
Broker-Cluster集群的搭建非常简单,只需要在activemq.xml文件中指定broker需要连接的其他节点的broker信息即可,在所有broker都启动后,可以在Web管理界面的Network页面内看到连接的信息。
Static Broker-Cluster部署配置示例:
<networkConnectors>
<networkConnector uri="static:(tcp://other-broker:port)" duplex="false" />
<networkConnectors>
Dynamic Broker-Cluster部署配置示例:
<networkConnectors>
<networkConnector uri="multicast://default" />
<networkConnectors>
Master-Slave集群解决了单点故障的问题,但是仍然只是一个节点处理所有请求。Broker-Cluster可以做到负载均衡,但是无法解决单点故障的问题。Master-Slave与Broker-Cluster两者相结合的集群即可解决单点故障又可保证负载均衡,做到了高可靠和高可用。
Master-Slave与Broker-Cluster集群部署配置示例:
<networkConnectors>
<networkConnector uri="masterslave:(tcp://other-cluster1-master:61616,tcp://other-cluster1-slave:61616)" duplex="false" />
<networkConnector uri="masterslave:(tcp://other-cluster2-master:61616,tcp://other-cluster2-slave:61616)" duplex="false" />
<networkConnectors>
networkConnector配置属性说明:
本文分享自 Coding Diary 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!