Java?Rabbitmq中四種集群架構的區(qū)別詳解
Rabbitmq 四種集群架構
1. 主備模式
2. 遠程模式
3. 鏡像模式
4. 多活模式
主備模式
主備模式: warren 兔子窩 一個主、一個備方案 主節(jié)點如果掛了 從節(jié)點提供服務 和Activemq 利用zk 做主/備一樣
主備模式 -----------------------》HaProxy 配置
listen rabbitmq_cluster bind 0.0.0.0:5682 # 配置tcp 模式 mode tcp # 簡單的輪詢 balance roundrobin #主節(jié)點 server bhz76 192.168.11.78:5672 check inter 5000 rise 2 fall 2 server bhz76 192.168.11.79:5672 backup check inter 5000 rise 2 fall 2 #備用節(jié)點
遠程模式
遠程模式 遠距離通信和復制 可以實現(xiàn)雙活的一種模式,簡稱 Shovel 模式 配置麻煩 現(xiàn)在使用不多
所謂Shovel 就是我們可以把消息進行不同數(shù)據(jù)中心的復制工作 ,可以跨地域的讓兩個mq 集群互聯(lián)
1.0 Step1 啟動RabbitMq 插件 ? rabbitmq-plugins enable amqp_client ? rabbitmq-plugins enable rabbitmq_shovel 2. 0 創(chuàng)建rabbitmq.config 文件 touch /etc/rabbitmq/rabbitmq.config
鏡像模式
集群模式非常經(jīng)典的就是Mirror 鏡像模式 保證100%數(shù)據(jù)不丟失
在實際工作中用的最多 并且實現(xiàn)集群非常的簡單 一般互聯(lián)網(wǎng)大廠 都會使用這樣構建這種鏡像集群模式
Mirror 鏡像隊列
高可靠 ----------》數(shù)據(jù)同步 —》elang 交換機 ----》3節(jié)點
缺點 :沒有保證橫向擴容
多活模式
這種模式也是實現(xiàn)異地數(shù)據(jù)復制的主流模式 因為Shovel 模式 配置比較復雜 所以一般來說實現(xiàn)異地集群都是使用這種雙活或者 多活模型來實現(xiàn)的
這種模型需要依賴RabbitMq 的federation 插件 可以實現(xiàn)持續(xù)的可靠的Amqp 的數(shù)據(jù)通信 多活模式實際配置與應用非常簡單
RabbitMq 部署架構采用雙中心模式 多中心 那么在兩套 或多套 數(shù)據(jù)中心中客部署一套 RabbitMq 集群 客中心的RabbitMq 服務除了需要為業(yè)務提供正常的消息服務外 中心之間還需要實現(xiàn)部分隊列消息共享
Federation 插件
Federation 插件 是一個不需要構建Cluster 而在Brokers
之間傳輸消息的高性能插件 Federation 插件 可以在Brokers 或者Cluster 之間傳輸消息 連接的雙方可以使用不同的users 和virtual hosts
雙方也可以使用版本不同的 RabbitMq
和Erlang Federation
插件使用AMQP 協(xié)議通訊 可以接收不連接的傳輸
Federation Exchanges
可以看成Downstream
從Upstream 主動拉取消息 但并不是拉取所有消息 必須是在Downstream
上已經(jīng)明確定義Bindings 關系的 Exchange 也就是有實際的物理 Queue 來接收消息 才會從Upstream 拉取消息組合在一起 ,綁定/解除綁定命令將發(fā)送到Upstream
交換機 因此 Federation
Exchanges
只接收具有訂閱的消息
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!
相關文章
SpringBoot配置Druid數(shù)據(jù)監(jiān)控代碼實例
這篇文章主要介紹了SpringBoot配置Druid數(shù)據(jù)監(jiān)控代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06Java實現(xiàn)上傳Excel文件并導入數(shù)據(jù)庫
這篇文章主要介紹了在java的基礎上學習上傳Excel文件并導出到數(shù)據(jù)庫,感興趣的小伙伴不要錯過奧2021-09-09springboot的maven多模塊混淆jar包的實現(xiàn)方法
springboot可以使用proguard-maven-plugin 這個插件 在 pom.xml 中自定義proguard 的指令,本文基于 springboot + maven + proguard 的maven多模塊架構進行代碼混淆,需要的朋友可以參考下2024-03-03用Maven打成可執(zhí)行jar,包含maven依賴,本地依賴的操作
這篇文章主要介紹了用Maven打成可執(zhí)行jar,包含maven依賴,本地依賴的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08IDEA工程運行時總是報xx程序包不存在實際上包已導入(問題分析及解決方案)
這篇文章主要介紹了IDEA工程運行時,總是報xx程序包不存在,實際上包已導入,本文給大家分享問題分析及解決方案,通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2020-08-08