摘要:前言集群分為兩種方式偽集群集群節(jié)點(diǎn)都搭在一臺機(jī)器上真集群集群節(jié)點(diǎn)分布在多臺機(jī)器上更多詳細(xì)真集群與偽集群的區(qū)別該教程使用的是偽集群,由于在一個主機(jī)上實(shí)現(xiàn)集群,這里直接使用了模式共享文件系統(tǒng)。該教程是使用個服務(wù)實(shí)現(xiàn)集群。
前言
集群分為兩種方式:
1.偽集群:集群節(jié)點(diǎn)都搭在一臺機(jī)器上
2.真集群:集群節(jié)點(diǎn)分布在多臺機(jī)器上
更多詳細(xì):真集群與偽集群的區(qū)別
該教程使用的是偽集群,由于在一個主機(jī)上實(shí)現(xiàn)ActiveMQ集群,這里直接使用了Shared File System Master Slave模式(共享文件系統(tǒng))。沒有結(jié)合ZooKeeper。
該教程是使用3個ActiveMQ服務(wù)實(shí)現(xiàn)集群。理論知識請參考我前一篇文章:ActiveMQ集群整體認(rèn)識第三部分Master Slave和Broker Cluster結(jié)合使用
一、配置3個ActiveMQ服務(wù)--- | 服務(wù)端口 | jetty管理端口 | 存儲位置 | 網(wǎng)絡(luò)連接器 | 用途 |
---|---|---|---|---|---|
Node-A | 61616 | 8161 | --- | Node-B、Node-C | 只能作為消費(fèi)者 |
Node-B | 61617 | 8162 | /opt/activemq/kahadb | Node-A | 生產(chǎn)者、消費(fèi)者 |
Node-C | 61618 | 8163 | /opt/activemq/kahadb | Node-A | 生產(chǎn)者、消費(fèi)者 |
安裝和啟動一個ActiveMQ服務(wù)可以參考之前的文章:ActiveMQ安裝
$ wget https://archive.apache.org/dist/activemq/5.14.4/apache-activemq-5.14.4-bin.tar.gz # 下載 $ tar -zxvf apache-activemq-5.14.4-bin.tar.gz # 解壓2. 使用3個ActiveMQ服務(wù)
2.1 復(fù)制3個ActiveMQ軟件
在 activemq文件夾下復(fù)制3個ActiveMQ,分別命名為 activemq-a、activemq-b、acativemq-c,后面稱之為A、B、C服務(wù):
$ mkdir activemq $ cp -rf apache-activemq-5.14.4 activemq/activemq-a # 創(chuàng)建activemq-a服務(wù) $ cp -rf apache-activemq-5.14.4 activemq/activemq-b # 創(chuàng)建activemq-b服務(wù) $ cp -rf apache-activemq-5.14.4 activemq/activemq-c # 創(chuàng)建activemq-c服務(wù) $ mkdir activemq/kahadb # 創(chuàng)建之后給B和C服務(wù)共享的數(shù)據(jù)存儲文件夾
2.2 配置 activemq-a 服務(wù):
分別修改 A、B、C服務(wù)下 /conf/activemq.xml 文件配置,配置網(wǎng)絡(luò)連接器(由于知道具體的三臺服務(wù)器,所以這里使用靜態(tài)連接器)
配置activemq-a的activemq.xml文件,添加連接B和C服務(wù)的網(wǎng)絡(luò)連接器:
在
關(guān)于activemq支持的協(xié)議可以參考:activeMQ支持的五種協(xié)議
配置jetty管理端口為8161
修改config/jetty.xml文件,找到 id="jettyPort" 的標(biāo)簽:
2.3 配置 activemq-b 服務(wù)
配置連接A服務(wù)的網(wǎng)絡(luò)連接器
/conf/activemq.xml 文件:
配置數(shù)據(jù)存儲位置(B和C服務(wù)共享的同一個)
/conf/activemq.xml 文件:
配置jetty管理端口8162
/conf/jetty.xml 文件
2.4 配置 activemq-c 服務(wù)
配置連接A服務(wù)的網(wǎng)絡(luò)連接器
/conf/activemq.xml 文件:
配置數(shù)據(jù)存儲位置(B和C服務(wù)共享的同一個)
/conf/activemq.xml 文件:
配置jetty管理端口8163
/conf/jetty.xml 文件
二、依次啟動A、B、C三個節(jié)點(diǎn)
$ /opt/activemq/activemq-a/bin/activemq start # 啟動A服務(wù) $ /opt/activemq/activemq-b/bin/activemq start # 啟動B服務(wù) $ /opt/activemq/activemq-c/bin/activemq start # 啟動C服務(wù) $ ps -ef|grep activemq # 檢查進(jìn)程是否允許,即activemq是否啟動成功 #其中B和C服務(wù)只會有一個端口對外提供服務(wù),因?yàn)樗鼈兪荕aster Slaver主從配置,只有一個能成為Master,獲得共享資源的使用權(quán)。 $ netstat -anp|grep 61616 # 查看端口61616 $ netstat -anp|grep 61617 # 查看端口61617 $ netstat -anp|grep 61618 # 查看端口61618 $ /opt/activemq/activemq-b/bin/activemq stop # 停止B節(jié)點(diǎn)服務(wù)(模擬B服務(wù)崩潰宕機(jī)).這時C服務(wù)就會自動變?yōu)镸aster,開始對外提供服務(wù)三、代碼編寫
在此以對列模式為例,隊(duì)列模式實(shí)現(xiàn)方式請參考我之前的文章:ActiveMQ的消息模式——隊(duì)列模式(Queue)。
在此基礎(chǔ)上,做如下修改:
生產(chǎn)者 AppProducer.java
//使用B節(jié)點(diǎn)和C節(jié)點(diǎn)來實(shí)現(xiàn)高可用性,保證其中一個節(jié)點(diǎn)宕機(jī),另一個節(jié)點(diǎn)可以馬上提供服務(wù)。 //這里不能配置A節(jié)點(diǎn),因?yàn)锳節(jié)點(diǎn)只能作為消費(fèi)者 private static final String url = "failover:(tcp://192.168.31.10:61617,tcp://192.168.31.10:61618)?randomize=true";
消費(fèi)者 AppConsumer.java
//A、B、C節(jié)點(diǎn)都可以作為消費(fèi)者 private static final String url = "failover:(tcp://192.168.31.10:61616,tcp://192.168.31.10:61617,tcp://192.168.31.10:61618)?randomize=true";
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69212.html
摘要:二集群部署方式集群的部署方式主要有下面種模式實(shí)現(xiàn)負(fù)載均衡,多個之間同步消息,已達(dá)到服務(wù)器負(fù)載的可能。默認(rèn)為,單位為毫秒,表示一次嘗試重連之間等待的時間。如果宕機(jī),集群退化成標(biāo)準(zhǔn)集群,只是了失去負(fù)載均衡能力。 前言 最終需要掌握 Replicated LevelDB Store部署方式,這種部署方式是基于ZooKeeper的。 集群分為兩種方式:1.偽集群:集群節(jié)點(diǎn)都搭在一臺機(jī)器上2....
摘要:要想保證負(fù)載均衡得再結(jié)合部署方案,配置網(wǎng)絡(luò)連接器。編碼時,端消費(fèi)者通過協(xié)議來連接集群。一服務(wù)器配置集群集群保證本身的高可用性。只需使用進(jìn)行配置即可,默認(rèn)端口為。 前言 本案例使用的是真集群方式,準(zhǔn)備三臺主機(jī),IP分別為192.168.100.142、192.168.100.143、192.168.100.144 偽集群部署請看:ActiveMQ+ZooKeeper 偽集群整合如果需要了...
摘要:時間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。這個時候,可以啟動多臺積分系統(tǒng),來同時消費(fèi)這個消息中間件里面的登錄消息,達(dá)到橫向擴(kuò)展的作用。 時間:2017年07月22日星期六說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程安排 Java...
摘要:前言本案例使用的是偽集群方式,即在一臺主機(jī)上部署個服務(wù)端口不同個服務(wù)端口不同。要想保證負(fù)載均衡得再結(jié)合部署方案,配置網(wǎng)絡(luò)連接器。編碼時,端消費(fèi)者通過協(xié)議來連接集群。只需使用進(jìn)行配置即可,默認(rèn)端口為。 前言 本案例使用的是偽集群方式,即在一臺主機(jī)上部署3個activemq服務(wù)(端口不同)+3個zookeeper服務(wù)(端口不同)。 真集群部署請看:ActiveMQ+ZooKeeper集群整...
摘要:熱門框架學(xué)習(xí)目錄項(xiàng)目介紹專輯欄目一簡介環(huán)境安裝配置客戶端連接常用命令集群搭建分布式鎖二簡介環(huán)境安裝配置基本特性啟動過程分析選舉過程主從數(shù)據(jù)同步過程分析集群搭建分布式鎖三簡介環(huán)境安裝配置基本特性基本概念和模型收發(fā)消息案例架構(gòu)初識收發(fā)消息原 HotFrameLearning 熱門框架學(xué)習(xí)(目錄) - I、項(xiàng)目介紹 - II、專輯欄目 一、Redis Redis 簡介 Redis 環(huán)境安裝...
閱讀 3106·2021-11-24 10:34
閱讀 3351·2021-11-22 13:53
閱讀 2657·2021-11-22 12:03
閱讀 3624·2021-09-26 09:47
閱讀 3033·2021-09-23 11:21
閱讀 4871·2021-09-22 15:08
閱讀 3340·2021-07-23 10:59
閱讀 1285·2019-08-29 18:31