適用場景
RabbitMQ本身的優(yōu)點眾多,大家最看好的便是它的異步化提高系統(tǒng)抗峰值能力,然后便是系統(tǒng)及功能結構解耦,那么照此兩點來說,它在整個系統(tǒng)中的作用是至關重要的。
那么如此重要,當然要考慮他的高可用性;混合云、多可用區(qū)、多機房的部署架構是大家普遍追尋的方案,但是怎么避免網(wǎng)絡因素帶來的影響呢?
RabbitMQ有很多種高可用方案,本文我們重點講述federation插件方式,此方案一般適用于大型的分布式集群,可以避免因網(wǎng)絡問題帶來的消息差異、腦裂等情況。
Federation插件使RabbitMQ在不同Broker節(jié)點間進行消息傳遞而無須建立集群,在不同管理域(不同的用戶和vhost、不同版本的RabbitMQ Erlang上)中的Broker或集群間傳遞消息,能容忍不穩(wěn)定的網(wǎng)絡連接情況。
前期準備
兩臺安裝rabbitmq的機器 ,進行federation插件測試。
配置federation插件
rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management
federation中的參數(shù)信息:
name: 新增的federation聯(lián)合插件的上游名稱,這個可以隨便取名。
uri:上游federation聯(lián)合rabbitmq的地址,上游是指訂閱的服務器節(jié)點。
prefect count:一次性從上游rabbitmq服務器預期數(shù)據(jù)的最大數(shù)量,默認是1000。
reconnect delay:網(wǎng)絡連接失敗后下次重連的等待時間,默認是5秒。
Acknowledgement Mode:消息確認方式,on-confirm、on-publish和no-ack。含義分布如下:
Trust User-ID:是否信任從上游服務器傳來的用戶id,默認是yes,設置成no,將會清空從上游服務器傳來的user id信息。
接下來是專門提供給federation exchange交換器的參數(shù):
Exchange:定義上游服務器的聯(lián)合的exchange名稱,默認情況下的取名與聯(lián)合的exchange名稱相同。
max hops:消息在被放棄或者說被消費前消息可以傳遞的最大的聯(lián)合federation 連接長度,默認是1,一般情況連接長度等于聯(lián)合的節(jié)點數(shù)量-1。
Expires:上游服務器節(jié)點保持節(jié)點信息的最長時間,單位毫秒,默認的是永久保存。
Message TTL:在上游節(jié)點中消息未被傳遞時可以保存的時長,單位毫秒,默認是永久保存。
HA Policy:檢查一個聯(lián)合exchange的上游queue中的x-ha-policy,用于確認該queue是否是一個HA的queue,默認是none表示不是一個HA的queue。
最后是federation queue的參數(shù):
Queue:定義上游服務器的聯(lián)合的queue名稱,默認情況下的取名與聯(lián)合的queue名稱相同。
3. 定義聯(lián)合查詢federation
name標識名稱。
pattern表示匹配的表達式,用法是正則表達式。
apply to表示應用在exchange還是queue上面,亦或兩者都使用。
priority表示優(yōu)先級,值越大,優(yōu)先級越高。
definition用于定義使用的配置,這里我們定義的是federation聯(lián)合,它有federation upstream set和 federation upstream兩種方式,set表示集合,定義需要該策略的所有上游名稱,一般我們都取值為all。
完成定義策略后,那么就會看到同步策略中開起的exchange、queue狀態(tài)。
通過界面已經(jīng)看到了federation聯(lián)合查詢對應的exchange和queue已經(jīng)處于運行狀態(tài)了,這個時候我們可以看到另一臺控制臺上的connection頁簽。
這個時候在rabbitmq服務器上面已經(jīng)有了federation標志的連接,也就是我們剛才在前面定義的federation,在連接上面可以看到federation的名稱及policy,說明已經(jīng)同步到了另一臺機器上面,同時我們也可以在exchange頁簽及queue頁簽中看到在另一臺機器上面定義的federation聯(lián)合exchange和queue名稱。
功能驗證
向交換機插入消息,驗證是否可以進行同步:
登錄另一個控制臺:
從圖中可以看到已經(jīng)有一條消息過來,我們檢查消息是否正確。
同步消息和手動插入的消息一致,至此federation插件驗證完成。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/129564.html
摘要:一主備模式主備模式實現(xiàn)的高可用集群,一般在并發(fā)和數(shù)據(jù)量不高的情況下,這種模式很好用且簡單。主備模式也稱之為模式。多活集群架構如下 一、主備模式(Warren) 主備模式:實現(xiàn)RabbitMQ的高可用集群 ,一般在并發(fā)和數(shù)據(jù)量不高的情況下,這種模式很好用且簡單。主備模式也稱之為Waren模式。就是一個主/備方案(主節(jié)點如果掛了,從節(jié)點提供服務而已,主備切換。) 二、遠程模式(Shove...
摘要:主流消息中間件介紹是由出品,是一個完全支持和規(guī)范的實現(xiàn)。主流消息中間件介紹是阿里開源的消息中間件,目前也已經(jīng)孵化為頂級項目。 showImg(https://img-blog.csdnimg.cn/20190509221741422.gif);showImg(https://img-blog.csdnimg.cn/20190718204938932.png?x-oss-process=...
摘要:考慮到云數(shù)據(jù)中心未來承載業(yè)務系統(tǒng)的多樣性和擴容空間,一般都會把架構設計成公有云和私有云相混合的融合架構。針對傳統(tǒng)災備系統(tǒng)建設面臨的挑戰(zhàn),云數(shù)據(jù)中心更多傾向采用兩地三中心的解決方案。近年數(shù)據(jù)中心處于高速的建設發(fā)展時期,十三五規(guī)劃中也將大數(shù)據(jù)、云計算作為當前國家經(jīng)濟社會發(fā)展的重要戰(zhàn)略內(nèi)容,各政府部門對戰(zhàn)略性新興產(chǎn)業(yè)的大力扶持,以及對云計算、物聯(lián)網(wǎng)、寬帶和下一代網(wǎng)絡的發(fā)展的高度重視,都給建設數(shù)據(jù)中...
引言據(jù)信通院《2022云計算白皮書》報告,國內(nèi)云計算市場達3000億規(guī)模,云計算成為企業(yè)數(shù)字化轉型的基礎設施已是大勢所趨。隨著企業(yè)數(shù)字化轉型的逐步深入,業(yè)務發(fā)展與IT基礎架構演進密不可分,如何保障數(shù)據(jù)隱私安全和業(yè)務連續(xù)性,是 IT 建設中必須關注的問題。出于數(shù)據(jù)隱私和安全性考量,私有云解決方案成為構建數(shù)字化轉型的基礎底座,通過同城雙活及兩地三中心的高可用架構保障生產(chǎn)環(huán)境穩(wěn)定性和業(yè)務過程連續(xù)性;同時...
閱讀 1459·2023-01-11 13:20
閱讀 1815·2023-01-11 13:20
閱讀 1267·2023-01-11 13:20
閱讀 2007·2023-01-11 13:20
閱讀 4227·2023-01-11 13:20
閱讀 2885·2023-01-11 13:20
閱讀 1489·2023-01-11 13:20
閱讀 3814·2023-01-11 13:20