更新時間:2022-12-28 11:58:34 來源:動力節點 瀏覽997次
普通模式:創建好RabbitMQ集群之后的默認模式。
鏡像模式:把需要的隊列做成鏡像隊列。
普通集群模式:queue創建之后,如果沒有其它policy,消息實體只存在于其中 一個節點,A、B兩個Rabbitmq節點僅有相同的元數據,即隊列結構,但K列的 數據僅保存有一份,即創建該隊列的rabbitmq節點(A節點),當消息進入A節 點的Queue中后,consumer從B節點拉取時,RabbitMQ會臨時在A、B間進行 消息傳輸,把A中的消息實體取出并經過B發送給consumer,所以consumer可 以連接每一個節點,從中取消息,該模式存在一個問題就是當A節點故障后,B 節點無法取到A節點中還未消費的消息實體。
鏡像集群模式: 把需要的隊列做成鏡像隊列,存在于多個節點,屬于RabbitMQ的HA方案(鏡 像模式是在普通模式的基礎上,增加一些鏡像策略)該模式解決了普通模式中的數據丟失問題,其實質和普通模式不同之處在于,消息實體會主動在鏡像節點間同步,而不是在consumer取數據時臨時拉取,該模 式帶來的副作用也很明顯,除了降低系統性能外,如果鏡像隊列數量過多,加之大量的消息進入,集群內部的網絡帶寬將會被這種同步通訊大大消耗掉,所以在 對可靠性要求較高的場合中適用,一個隊列想做成鏡像隊列,需要先設置policy。
客戶端創建隊列的時候,rabbitmq集群根據“隊列名稱”自動設置是普通集群模式或鏡像隊列的集群中有兩種節點類型:
內存節點:只將數據保存到內存
磁盤節點:保存數據到內存和磁盤。
內存節點雖然不寫入磁盤,但是它執行比磁盤節點要好,集群中,只需要一個磁盤節點來保存數據就足夠了如果集群中只有內存節點,那么不能全部停止它們,否則所有數據消息在服務器全部停機之后都會丟失。
在一個rabbitmq集群里,有3臺或以上機器,其中1臺使用磁盤模式,其它節點使用內存模式,內存節點無訪問速度更快,由于磁盤IO相對較慢,因此可作為數據備份使用。
以上就是關于“RabbitMQ集群模式”的介紹,大家如果想了解更多相關知識,不妨來關注一下本站的RabbitMQ教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習