ActiveMQ 集群负载平衡
目前的架构:
负载均衡方案:=========================================
第二种方案呢,假设我们整个应用是个食堂,这个食堂里面有好多饭口,每个饭口有好多大爷大妈(咦~~~)。每个饭口实现了高可用,即使有大妈不上班,还有大爷顶上。针对好多学生(用户),实现了负载均衡,学生被基本均匀的分配到每一个饭口上。
食堂----应用
饭口----集群
大妈----服务器
==================================
现在我们利用Broker-Cluster 可以解实现负载均衡。配置的方法就是:
打开activemq.xml文件,在persistenceAdapter的前面加上
< networkConnectors > </ networkConnectors > |
就拿这两个集群来说:
集群1 >>>>>>>>链接>>>>>>>> 集群2:192.168.127.1,192.168.127.2,192.168.127.3 加上
<networkConnectors> <networkConnector uri="static:(tcp://192.168.127.4:61616,tcp://192.168.127.5:61616,tcp://192.168.127.6:61616)" duplex="false"/> </networkConnectors>
集群2 >>>>>>>>链接>>>>>>>> 集群1: 192.168.127.4,192.168.127.5,192.168.127.6 加上
<networkConnectors> <networkConnector uri="static:(tcp://192.168.127.1:61616,tcp://192.168.127.2:61616,tcp://192.168.127.3:61616)" duplex="false"/> </networkConnectors>
说白了就是把对方的地址拿过来
如果是三个集群呢?
那么就多加一个<networkConnector uri="tcp://..."/>
比如多了一个集群3(IP:192.168.127.7,192.168.127.8,192.168.127.9)
集群1 >>>>>>>>链接>>>>>>>> 集群2&集群3:192.168.127.1,192.168.127.2,192.168.127.3 加上
<networkConnectors> <networkConnector uri="static:(tcp://192.168.127.4:61616,tcp://192.168.127.5:61616,tcp://192.168.127.6:61616)" duplex="false"/> <networkConnector uri="static:(tcp://192.168.127.7:61616,tcp://192.168.127.8:61616,tcp://192.168.127.9:61616)" duplex="false"/> </networkConnectors>
集群2 >>>>>>>>链接>>>>>>>> 集群1&集群3 和 集群3 >>>>>>>>链接>>>>>>>> 集群1&集群2 照葫芦画瓢