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消息丟失
內存節點數據目錄:

硬盤節點數據目錄:
這裏寫圖片描述

參考文檔
1.rabbitMQ源碼分析 – 持久化機制
2.RabbitMQ概念及環境搭建(四)RabbitMQ High Availability

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章