最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

RabbitMQ教程 | 該不會(huì)還有人不會(huì)使用HAProxy搭建RabbitMQ高可用集群吧,袁庭新安排上

2023-10-13 12:28 作者:袁庭新  | 我要投稿

小伙伴們,袁老師又來(lái)啦,今天我要給大家分享的內(nèi)容是如何搭建RabbitMQ高可用集群。我們都知道RabbitMQ是采用Erlang語(yǔ)言開(kāi)的,而Erlang語(yǔ)言天生具備分布式的特點(diǎn),所以RabbitMQ天然支持集群,不需要通過(guò)引入ZooKeeper就能實(shí)現(xiàn)數(shù)據(jù)同步。

今天袁老師會(huì)手把手地教大家來(lái)搭建高可用的RabbitMQ集群環(huán)境,我們這就開(kāi)始吧。

01 RabbitMQ集群環(huán)境搭建

首先,我們需要準(zhǔn)備一臺(tái)IP地址為192.168.230.131的CentOS 7.X的虛擬機(jī),然后在該臺(tái)主機(jī)上克隆出兩臺(tái)新的虛擬機(jī),分別將IP設(shè)置為192.168.230.132和192.168.230.133,這樣我們就準(zhǔn)備好了三臺(tái)Linux服務(wù)器。

在192.168.230.131服務(wù)器上,修改/etc/hosts映射文件。

在192.168.230.132服務(wù)器上,修改/etc/hosts映射文件。

兩臺(tái)Linux主機(jī)修改完host文件后,需重啟Linux服務(wù)器。

在RabbitMQ集群環(huán)境下,節(jié)點(diǎn)間相互通信時(shí),cookie必須保持一致。首先查看.erlang.cookie文件的位置。

同步RabbitMQ的cookie文件到每臺(tái)服務(wù)器,可以使用跨服務(wù)器拷貝.erlang.cookie到每臺(tái)節(jié)點(diǎn)。

兩臺(tái)服務(wù)器同步完cookie文件后,需重啟Linux服務(wù)器。

reboot

在兩臺(tái)服務(wù)器上分別停止防火墻,并啟動(dòng)RabbitMQ服務(wù)。

加入集群節(jié)點(diǎn)(組成集群)。

集群配置好后,可以在RabbitMQ任意節(jié)點(diǎn)上執(zhí)行下面的命令來(lái)查看是否集群配置成功。

在搭建RabbitMQ集群之前,所創(chuàng)建的交換機(jī)、隊(duì)列、用戶都屬于單一結(jié)構(gòu),將在新的RabbitMQ集群環(huán)境中是不能用的。所以在新的集群中重新手動(dòng)添加用戶即可(任意節(jié)點(diǎn)添加,所有節(jié)點(diǎn)共享)。

注意:當(dāng)節(jié)點(diǎn)脫離RabbitMQ集群還原成單一結(jié)構(gòu)后,交換機(jī)、隊(duì)列和用戶等數(shù)據(jù)都會(huì)重新回來(lái)。

創(chuàng)建虛擬機(jī)。選擇【Admin】-【Virtual Hosts】-【Add virtual host】選項(xiàng),添加一個(gè)虛擬機(jī)。

控制臺(tái)查看是否集群成功。

此時(shí),集群搭建完畢,但是默認(rèn)采用的模式普通模式,可靠性不高。因此,需將RabbitMQ改為鏡像模式。

02 鏡像模式

1.鏡像模式介紹

將所有隊(duì)列設(shè)置為鏡像隊(duì)列,即隊(duì)列會(huì)被復(fù)制到各個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)狀態(tài)一致。語(yǔ)法結(jié)構(gòu)見(jiàn)下:

參數(shù)含義解析:

  • name:表示策略名,名稱自定義。

  • pattern:隊(duì)列的匹配模式,使用正則表達(dá)式進(jìn)行匹配。"^"表示匹配所有的隊(duì)列。

  • definition:鏡像定義,包括三個(gè)部分ha-mode、ha-params和ha-sync-mode。

  • ha-mode:High Available高可用,簡(jiǎn)稱HA。指明鏡像隊(duì)列的模式,有效值為all/exactly/nodes。

  • ha-params:表示ha-mode模式需要用到的參數(shù)。

  • ha-sync-mode:進(jìn)行隊(duì)列中消息的同步方式,有效值為automatic和manual。

2.鏡像模式實(shí)現(xiàn)

通過(guò)命令的方式設(shè)置鏡像模式策略,在任意一個(gè)節(jié)點(diǎn)上執(zhí)行下面的命令。

鏡像配置參考:http://www.rabbitmq.com/ha.html#replication-factor。

也可以通過(guò)RabbitMQ可視化管理頁(yè)面設(shè)置鏡像模式策略。

運(yùn)行測(cè)試類中的delayMessage()測(cè)試方法,然后啟動(dòng)項(xiàng)目主類,測(cè)試在RabbitMQ集群環(huán)境下死信隊(duì)列中的消息是否可被正常消費(fèi)。

03 HAProxy實(shí)現(xiàn)鏡像隊(duì)列的負(fù)載均衡

雖然我們?cè)赗abbitMQ集群中,訪問(wèn)node1服務(wù)器可以實(shí)現(xiàn)消息的同步,將消息同步到node2服務(wù)器上;但在目前的集群架構(gòu)中,node1服務(wù)器始終處于接收消息的角色,這樣會(huì)導(dǎo)致node1服務(wù)器過(guò)于繁忙,因此需要對(duì)RabbitMQ集群進(jìn)行負(fù)載均衡配置,讓node1和node2服務(wù)器輪流接收消息,然后再做消息鏡像同步。

1.HAProxy簡(jiǎn)介

HAProxy(High Available - 高可用,Proxy - 代理),HAProxy是一款提供高可用性、負(fù)載均衡,并且基于TCP和HTTP應(yīng)用的代理軟件。HAProxy完全免費(fèi)。HAProxy可以支持?jǐn)?shù)以萬(wàn)計(jì)的并發(fā)連接。HAProxy可以簡(jiǎn)單又安全的整合進(jìn)架構(gòu)中,同時(shí)還保護(hù)Web服務(wù)器不被暴露到網(wǎng)絡(luò)上。

2.HAProxy與Nginx對(duì)比

Open System Interconnection,開(kāi)放式系統(tǒng)互聯(lián),簡(jiǎn)稱OSI。將計(jì)算機(jī)網(wǎng)絡(luò)通信的工作劃分為七層,分別是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。

2.1 Nginx的優(yōu)點(diǎn)

  • Nginx工作在OSI第七層,可以針對(duì)HTTP應(yīng)用做一些分流的策略;

  • Nginx對(duì)網(wǎng)絡(luò)的依賴非常小,理論上能ping通就能進(jìn)行負(fù)載均衡功能,屹立至今的絕對(duì)優(yōu)勢(shì);

  • Nginx安裝和配置比較簡(jiǎn)單,測(cè)試起來(lái)比較方便;

  • Nginx不僅僅是一款優(yōu)秀的負(fù)載均衡器/反向代理軟件,它同時(shí)也是功能強(qiáng)大的Web應(yīng)用服務(wù)器。

2.2 HAProxy的優(yōu)點(diǎn)

  • HAProxy工作在網(wǎng)絡(luò)四層和七層,支持TCP與HTTP協(xié)議;

  • 支持8種負(fù)載均衡策略 ,支持心跳檢測(cè);

  • HAProxy僅僅只是一款負(fù)載均衡軟件;單純從效率上來(lái)講HAProxy比Nginx有更出色的負(fù)載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的。

對(duì)于HTTP協(xié)議,HAProxy處理效率比Nginx高。所以,沒(méi)有特殊要求的時(shí)候或者一般場(chǎng)景,建議使用HAProxy來(lái)做HTTP協(xié)議請(qǐng)求。如果是在Web應(yīng)用中,那么建議使用Nginx??傊蠹铱梢越Y(jié)合各自使用場(chǎng)景的特點(diǎn)來(lái)進(jìn)行合理地選擇。

3.HAProxy安裝和配置

使用瀏覽器訪問(wèn)以下地址下載HAProxy安裝包。

再準(zhǔn)備一臺(tái)CentOS服務(wù)器,將IP地址設(shè)置為192.168.230.133,將作為HAProxy服務(wù)器。

將下載好的HAProxy安裝包傳輸?shù)竭@臺(tái)CentOS系統(tǒng)中。

解壓HAProxy安裝包。

make時(shí)需要使用TARGET指定內(nèi)核及版本。

根據(jù)內(nèi)核版本選擇編譯參數(shù)。

4.編譯安裝HAProxy

1.進(jìn)入haproxy-1.8.12目錄后,進(jìn)行編譯和安裝。

2.編譯HAProxy參數(shù)說(shuō)明:

3.安裝成功后,查看HAProxy版本。

4.配置啟動(dòng)文件,復(fù)制haproxy文件到/usr/sbin目錄下 ,復(fù)制haproxy.init腳本到/etc/init.d下。

5.創(chuàng)建系統(tǒng)賬號(hào)。

6.haproxy.cfg配置文件需要自行創(chuàng)建。

7.添加配置信息到haproxy.cfg文件。

8.關(guān)閉防火墻。

5.啟動(dòng)HAProxy

1.HAProxy服務(wù)操作相關(guān)命令介紹。

2.啟動(dòng)HAProxy。

3.查看HAProxy進(jìn)程。

4.使用瀏覽器訪問(wèn)monitor監(jiān)控中心,它的地址是http://192.168.230.133:8100/monitor,查看HAProxy控制臺(tái)對(duì)node1和node2的監(jiān)控情況。

04 總結(jié)回顧

今天袁老師主要是帶各位小伙伴完成了RabbitMQ集群環(huán)境的搭建,以及為提升集群的高可用搭建了HAProxy代理。最后,我們又測(cè)試了RabbitMQ集群環(huán)境下高可用性和負(fù)載均衡的性能。

今天的內(nèi)容就到這里吧,現(xiàn)在你學(xué)會(huì)了嗎?關(guān)注「袁庭新」,干貨天天都不斷!


RabbitMQ教程 | 該不會(huì)還有人不會(huì)使用HAProxy搭建RabbitMQ高可用集群吧,袁庭新安排上的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
西安市| 达拉特旗| 万荣县| 尚义县| 许昌县| 永仁县| 伊川县| 永康市| 滦平县| 华亭县| 伊宁县| 毕节市| 祁连县| 龙陵县| 平安县| 冷水江市| 南和县| 东港市| 射阳县| 武隆县| 辉县市| 梁平县| 通化县| 台江县| 长子县| 达孜县| 监利县| 海阳市| 伊宁县| 奎屯市| 增城市| 宝鸡市| 凭祥市| 崇左市| 永昌县| 长治市| 阿坝县| 珠海市| 宁海县| 临颍县| 广东省|