MQ訊息持久化

2021-10-16 06:40:25 字數 333 閱讀 3058

activemq 訊息持久化

為了避免mq宕機丟失訊息,訊息系統一般會採用持久化機制;activemq的訊息持久化機制有kahadb,jdbc,leveldb,amq,無論使用的持久化機制是哪一種,訊息的儲存邏輯是一致的

訊息中心收到生產者的訊息後,先將訊息儲存在本地資料檔案,記憶體資料庫或者遠端資料庫,再試圖把訊息傳送給消費者,傳送成功則講訊息從儲存中刪除,如失敗則繼續嘗試傳送

訊息中心啟動時,先會檢查指定的儲存位置,如有未成功傳送的訊息,則會把訊息傳送出去

kahadb

基於日誌檔案儲存,是預設持久化機制

jdbc

基於jdbc儲存,儲存進資料庫

八 MQ容錯處理方式(MQ訊息持久化)

上面所說,消費者掛了,可以通過應答方式進行再次處理。如果是mq掛了呢?那麼全部訊息就丟失了?下面是mq掛了,保證訊息不丟失處理。宣告佇列 中,設定訊息持久化 boolean durable false 持久化宣告 宣告佇列 channel.queuedeclare queue name,durabl...

Rocketmq訊息持久化

producer send 的message最終將由broker處理,處理類為 sendmessageprocessor 處理方法 processrequet.public class sendmessageprocessor extends abstractsendmessageprocessor...

Activemq訊息持久化

官方文件 activemq持久化相關配置 usr local apache activemq 5.11.1 conf activemq.xml 官方預設的持久化為kahadb 可以稍作調優 indexwritebatchsize 1000 journalmaxfilelength 32mb enab...