RabbitMQ的高可用和高可靠

01、什麼是高可用機制

所謂高可用:

是指產品在規定的條件和規定的時刻或時間內處於可執行規定功能狀態的能力。 當業務量增加時,請求也過大,一臺訊息中介軟體伺服器的會觸及硬體(CPU,記憶體,磁碟)的極限,一臺訊息伺服器你已經無法滿足業務的需求,所以訊息中介軟體必須支援叢集部署。來達到高可用的目的。

02、叢集模式1 - Master-slave主從共享資料的部署方式

RabbitMQ的高可用和高可靠

解說:

生產者講消費傳送到Master節點,所有的都連線這個訊息佇列共享這塊資料區域,Master節點負責寫入,一旦Master掛掉,slave節點繼續服務。從而形成高可用,

03、叢集模式2 - Master- slave主從同步部署方式

RabbitMQ的高可用和高可靠

解釋:

這種模式寫入訊息同樣在Master主節點上,但是主節點會同步資料到slave節點形成副本,和zookeeper或者redis主從機制很類同。這樣可以達到負載均衡的效果,如果消費者有多個這樣就可以去不同的節點就行消費,以為訊息的複製和同步會暫用很大的頻寬和網路資源。在後續的rabbtmq中會有使用。

04、叢集模式3 - 多主叢集同步部署模式

RabbitMQ的高可用和高可靠

解釋:

和上面的區別不是特別的大,但是它的寫入可以往任意節點去寫入。

05、叢集模式4 - 多主叢集轉發部署模式

RabbitMQ的高可用和高可靠

解釋:

如果你插入的資料是broker-1中,元資料資訊會儲存資料的相關描述和記錄存放的位置(佇列)。 它會對描述資訊也就是元資料資訊就行同步,如果消費者在broker-2中進行消費,發現自己幾點沒有對應的訊息,可以從對應的元資料資訊中去查詢,然後返回對應的訊息資訊,場景:比如買火車票或者黃牛買演唱會門票,比如第一個黃牛有顧客說要買的演唱會門票,但是沒有但是他會去聯絡其他的黃牛詢問,如果有就返回。

06、叢集模式5 Master-slave與Breoker-cluster組合的方案

RabbitMQ的高可用和高可靠

解釋:

實現多主多從的熱備機制來完成訊息的高可用以及資料的熱備機制,在生產規模達到一定的階段的時候,這種使用的頻率比較高。

這麼叢集模式,具體在後續的課程中會進行一個分析和講解。他們的最終目的都是為保證:訊息伺服器不會掛掉,出現了故障依然可以抱著訊息服務繼續使用。

反正終歸三句話:

要麼訊息共享

要麼訊息同步

要麼元資料共享

07、什麼是高可靠機制

所謂高可用是指:是指系統可以無故障低持續執行,比如一個系統突然崩潰,報錯,異常等等並不影響線上業務的正常執行,出錯的機率極低,就稱之為:高可靠。 在高併發的業務場景中,如果不能保證系統的高可靠,那造成的隱患和損失是非常嚴重的。 如何保證中介軟體訊息的可靠性呢?可以從兩個方面考慮: 1:訊息的傳輸:透過協議來保證系統間資料解析的正確性。 2:訊息的儲存可靠:透過持久化來保證訊息的可靠性。

作者:蠟筆小新丶henry

連結:https://juejin。cn/post/7168868458367549453