1. 程式人生 > >RabbitMQ學習之叢集訊息可靠性測試

RabbitMQ學習之叢集訊息可靠性測試

之前介紹過關於訊息傳送和接收的可靠性:RabbitMQ學習之訊息可靠性及特性
下面主要介紹一下叢集環境下,rabbitmq例項宕機的情況下,訊息的可靠性。驗證rabbitmq版本【3.4.1】。
叢集環境要求:
1.叢集中至少有一臺硬碟節點
2.加入叢集中有一臺記憶體節點,一臺硬碟節點,需要先啟動硬碟節點。單節點不能設定為記憶體節點
叢集環境:

節點名稱 節點型別
vm-129 硬碟
vm-130 記憶體

這裡寫圖片描述
驗證結論:
1.vm-129、vm-130節點都可以建立持久化佇列及傳送持久化訊息
2.當vm-130宕機
1)vm-130的記憶體佇列丟失,持久化佇列不可讀、不可寫
2)vm-129原有佇列可讀寫,可以建立持久化佇列及傳送持久化訊息,並能讀寫
3)vm-130重啟,持久化訊息存在,並能正常讀寫
3.當vm-129宕機
1)vm-129的記憶體佇列丟失,持久化佇列不可讀、不可寫
2)vm-130原有佇列可讀寫,可以建立持久化佇列及傳送持久化訊息,並能讀寫
3)vm-129重啟,持久化訊息存在,並能正常讀寫
3.當vm-130先宕機
1)在vm-129內寫持久化佇列和訊息Q1
2)vm-130重啟後,再把vm-129宕機,再將vm-129重啟
3)Q1訊息仍然存在,並能正確消費
4.當vm-130先宕機
1)在A內寫持久化佇列和訊息Q2
2)再把vm-129宕機,再將vm-129、vm-130叢集重啟
3)Q2訊息丟失
記憶體節點資料目錄:


硬碟節點資料目錄:
這裡寫圖片描述