摘要:要想保證負載均衡得再結合部署方案,配置網絡連接器。編碼時,端消費者通過協議來連接集群。一服務器配置集群集群保證本身的高可用性。只需使用進行配置即可,默認端口為。
前言
本案例使用的是真集群方式,準備三臺主機,IP分別為192.168.100.142、192.168.100.143、192.168.100.144
偽集群部署請看:ActiveMQ+ZooKeeper 偽集群整合
如果需要了解ActiveMQ集群部署的整體概念,可以參考我這篇文章:ActiveMQ集群整體認識
原理簡介:
一般在部署ActiveMQ集群的時候,更傾向于使用基于ZooKeeper的Replicated LevelDB Store方式,該方式是Master Slave部署方案的其中一種策略,也是在多臺主機實現ActiveMQ集群的主流部署方式。 此教程只保證了高可用性。要想保證負載均衡得再結合Broker Clusters 部署方案,配置網絡連接器。
工作流程:
在ZooKeeper中管理多個Broker節點,根據 Master選舉策略讓其中一個 Broker選舉為Master(只有Master才具備對外提供服務的能力),剩下Broker為slave。
編碼時,client端(消費者)通過failover協議來連接ActiveMQ集群。
ZooKeeper集群保證ZooKeeper本身的高可用性。
1.1 修改ZK配置文件conf/zoo.cfg主機IP | 服務端口(默認) | 集群通信端口 | 節點目錄/opt/下 | |
---|---|---|---|---|
192.168.100.142 | 2181 | 2888:3888 | zookeeper | |
192.168.100.143 | 2181 | 2888:3888 | zookeeper | |
192.168.100.144 | 2181 | 2888:3888 | zookeeper |
集群通信端口:第一個端口是master和slave之間的通信端口,默認是2888;第二個端口是leader選舉的端口,集群剛啟動的時候選舉或者leader掛掉之后進行新的選舉的端口默認是3888。
在3臺主機上都安裝zookeeper服務,/opt/zookeeper,并分別配置它們的文件conf/zoo.cfg:
主機1(192.168.100.142):
/opt/zookeeper/conf/zoo.cfg:
# zookeeper的數據存儲和日志存儲目錄(如果目錄不存在就新建) dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log # zk集群之間的通信地址 server.1=192.168.100.142:2888:3888 server.2=192.168.100.143:2888:3888 server.3=192.168.100.144:2888:3888
創建/opt/zookeeper/data/myid文件,填入數字1:
# 由于該主機1(192.168.100.142)是server.1,所以在myid中設置數字1 $ vim /opt/zookeeper/data/myid
主機2(192.168.100.143):
/opt/zookeeper/conf/zoo.cfg:
dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log server.1=192.168.100.142:2888:3888 server.2=192.168.100.143:2888:3888 server.3=192.168.100.144:2888:3888
創建/opt/zookeeper/data/myid文件,填入數字2:
# 由于該主機2(192.168.100.143)是server.2,所以在myid中設置數字2 $ vim /opt/zookeeper/data/myid
主機3(192.168.100.143):
/opt/zookeeper/conf/zoo.cfg:
dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log server.1=192.168.100.142:2888:3888 server.2=192.168.100.143:2888:3888 server.3=192.168.100.144:2888:3888
創建/opt/zookeeper/data/myid文件,填入數字3:
# 由于該主機3(192.168.100.144)是server.3,所以在myid中設置數字3 $ vim /opt/zookeeper/data/myid1.2 分別啟動zookeeper服務
$ /opt/zookeeper/bin/zkServer.sh start # 啟動zk服務 $ /opt/zookeeper/bin/zkServer.sh status # 查看zk服務狀態2. ActiveMQ集群 2.1 修改ActiveMQ配置文件conf/activemq.xml和conf/jetty.xml
主機IP | 服務端口(默認) | 復制協議端口(動態) | jetty控制臺端口(默認) | 節點目錄/opt/下 | |
---|---|---|---|---|---|
192.168.100.142 | 61616 | tcp://0.0.0.0:0 | 8161 | activemq/node1 | |
192.168.100.143 | 61616 | tcp://0.0.0.0:0 | 8161 | activemq/node2 | |
192.168.100.144 | 61616 | tcp://0.0.0.0:0 | 8161 | activemq/node3 |
在3臺主機上都安裝activemq 服務,/opt/activemq,并分別配置它們的文件conf/activemq.xml和conf/jetty.xml:
主機1(192.168.100.142):
/opt/activemq/conf/activemq.xml:
/opt/activemq/conf/jetty.xml:
主機2(192.168.100.143):
/opt/activemq/conf/activemq.xml:
/opt/activemq/conf/jetty.xml:
主機3(192.168.100.144):
/opt/activemq/conf/activemq.xml:
/opt/activemq/conf/jetty.xml:
2.2 依次啟動activemq服務
$ /opt/activemq/bin/activemq start # 啟動activemq服務 $ ps -ef|grep activemq # 檢查進程是否運行,即activemq是否啟動成功 $ netstat -anp|grep 61616 # 查看服務端口61616,監聽情況三、Client使用
該zookeeper+activemq的集群Master Slave部署方案,能夠提供(3-1)/2的容錯率,即3臺服務器允許宕機一臺,而不影響整個集群的對外提供服務。
編寫代碼連接時使用failover策略:
String url = failover:(tcp://192.168.100.142:61616,tcp://192.168.100.143:61616,tcp://192.168.100.144:61616)?initialReconnectDelay=1000
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69227.html
摘要:前言本案例使用的是偽集群方式,即在一臺主機上部署個服務端口不同個服務端口不同。要想保證負載均衡得再結合部署方案,配置網絡連接器。編碼時,端消費者通過協議來連接集群。只需使用進行配置即可,默認端口為。 前言 本案例使用的是偽集群方式,即在一臺主機上部署3個activemq服務(端口不同)+3個zookeeper服務(端口不同)。 真集群部署請看:ActiveMQ+ZooKeeper集群整...
摘要:二集群部署方式集群的部署方式主要有下面種模式實現負載均衡,多個之間同步消息,已達到服務器負載的可能。默認為,單位為毫秒,表示一次嘗試重連之間等待的時間。如果宕機,集群退化成標準集群,只是了失去負載均衡能力。 前言 最終需要掌握 Replicated LevelDB Store部署方式,這種部署方式是基于ZooKeeper的。 集群分為兩種方式:1.偽集群:集群節點都搭在一臺機器上2....
摘要:熱門框架學習目錄項目介紹專輯欄目一簡介環境安裝配置客戶端連接常用命令集群搭建分布式鎖二簡介環境安裝配置基本特性啟動過程分析選舉過程主從數據同步過程分析集群搭建分布式鎖三簡介環境安裝配置基本特性基本概念和模型收發消息案例架構初識收發消息原 HotFrameLearning 熱門框架學習(目錄) - I、項目介紹 - II、專輯欄目 一、Redis Redis 簡介 Redis 環境安裝...
摘要:主流消息中間件介紹是由出品,是一個完全支持和規范的實現。主流消息中間件介紹是阿里開源的消息中間件,目前也已經孵化為頂級項目。 showImg(https://img-blog.csdnimg.cn/20190509221741422.gif);showImg(https://img-blog.csdnimg.cn/20190718204938932.png?x-oss-process=...
閱讀 738·2021-10-09 09:44
閱讀 2005·2021-09-22 15:54
閱讀 5043·2021-09-22 10:55
閱讀 1435·2019-08-29 18:41
閱讀 771·2019-08-29 11:24
閱讀 2099·2019-08-28 18:20
閱讀 1024·2019-08-26 11:51
閱讀 3043·2019-08-26 11:00