溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ActiveMQ集群負載均衡、安裝、配置的示例分析

發(fā)布時間:2021-11-12 14:34:51 來源:億速云 閱讀:133 作者:小新 欄目:云計算

小編給大家分享一下ActiveMQ集群負載均衡、安裝、配置的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一. MQ介紹

MQ是應用程序對應用程序的通信方法,它可以作為程序中間媒介,通過消息(用戶的各種類型的數(shù)據(jù)文件,某個應用向其它應用發(fā)出的處理請求等都可以作為消息)的方式解耦rpc。

二. MQ適用場景

為完成某一無需即時返回且耗時的業(yè)務,將該操作提取出來,進行了異步處理,節(jié)省了服務器的請求響應時間,從而提高了系統(tǒng)的吞吐量,如:城市停車場中的業(yè)務場景、電商中的訂單物流倉儲服務、不同平臺間對接都離不開MQ

三. 以ActiveMQ為例,集群安裝、配置、負載均衡

在MQ選型時,很多人都會疑惑,到底選哪種?RabbitMq、ActiveMq、ZeroMq、kafka,我到是覺得這個和業(yè)務是分不開的,例如只是普通的系統(tǒng)對接或是未關鍵業(yè)務數(shù)據(jù)處理,沒有必要糾結,直接用ActiveMq就行,如果對數(shù)據(jù)的處理性能、吞吐、容錯性要求較高,還是需要自己測試下各個MQ的優(yōu)缺點,下面這個是網(wǎng)絡數(shù)據(jù),我也沒測試過,給大家一個參考:
[RabbitMq、ActiveMq、ZeroMq、kafka之間的比較,資料匯總](http://blog.csdn.net/linsongbin1/article/details/47781187)

下面開始集群安裝、配置

主機    集群端口  消息端口  管控臺端口  節(jié)點安裝目錄
192.168.1.81  62621  51511  8161  ${MQ_HOME}/node-01
192.168.1.82  62622  51512  8162  ${MQ_HOME}/node-02
192.168.1.83  62623  51513  8163  ${MQ_HOME}/node-03


1. 我們使用ZooKeeper和LevelDB搭建ActiveMQ集群,使用ZooKeeper(集群)注冊所有的ActiveMQ Broker。只有其中的一個 Broker 可以提供服務,被視為Master,其他的Broker處于待機狀態(tài),被視為 Slave。如果 Master 因故障而不能提供服務,ZooKeeper會從Slave 中選舉出一個 Broker 充當 Master。

[ZooKeeper集群的安裝、配置](http://my.oschina.net/lbnan/blog/615153)

2. 下載ActiveMq,tar -zxvf 解壓,名為為node-0x

3. 在iptables中開放端口

4. 修改${MQ_HOME}/conf/jetty.xml中的管理端口,如下:


<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
    <!-- the default port number for the web console -->
    <property name="host" value="0.0.0.0"/>
    <property name="port" value="8161"/>
</bean>

5. 配置 conf/activemq.xml 中的持久化適配器。修改其中 bind、zkAddress、

hostname 和 zkPath,每個 ActiveMQ 的 BrokerName 必須相同,否則不能加入集群,如下:

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="myBroker" dataDirectory="${activemq.data}">
    <persistenceAdapter>
    <!-- kahaDB directory="${activemq.data}/kahadb"/ -->
    <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:62621" zkAddress="192.168.1.81:2181,192.168.1.82:2182,192.168.1.83:2183" hostname="zk-01" zkPath="/activemq/leveldb-stores"/>
    </persistenceAdapter>
</broker> 

6. 配置各節(jié)點的消息端口,如下:

<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

<transportConnector name="openwire" uri="tcp://0.0.0.0:51511?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> </transportConnectors>

7. 接下來我們使用static Broker-Cluster方式進行負載均衡

還有其他方式,找了一篇不錯的博客[Apache ActiveMQ 負載均衡](http://www.tuicool.com/articles/r6FfY3)

使用以上同樣的方式再部署一個集群,集群名稱為myBroker2,在conf/activemq.xml中配置:

<networkConnectors>
    <networkConnector uri="static:(tcp://192.168.1.101:53531,tcp://192.168.1.102:53532,tcp://192.168.1.103:53533)" duplex="false"/>
    </networkConnectors>
</networkConnectors>

8. 啟動3個MQ并監(jiān)聽:
${MQ_HOME}/bin/activemq start
tail -f ${MQ_HOME}/data/activemq.log

看完了這篇文章,相信你對“ActiveMQ集群負載均衡、安裝、配置的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI