RocketMq訊息丟失問題解決
分享一個連結:https://www.zhihu.com/tardis/sogou/art/166426241
這個圖很好,基本上就是這個問題的解決思路。我這裡總結一下:
為什麼會訊息丟失?
- 儲存在佇列中,如果佇列沒有對訊息持久化,RabbitMQ伺服器當機重啟會丟失資料。
- 生產者傳送訊息到RabbitMQ伺服器過程中,RabbitMQ伺服器如果當機停止服務,訊息會丟失。
- 消費者從RabbitMQ伺服器獲取佇列中儲存的資料消費,但是消費者程式出錯或者當機而沒有正確消費,導致資料丟失。
解決方法:1.訊息持久化(Exchange交換機持久化 Queue持久化)
訊息持久化可以防止訊息在MQ Server中不會因為當機重啟而丟失。
2.訊息確認機制(confirm機制,事務機制)
(1)confirm機制:通過兩個回撥函式確認confirm(),returnedMessage();
首先在配置檔案中配置,接著需要定義回撥方法。
confirm模式,作用是為了保證生產者投遞到Mq不會出現訊息丟失。
(2)事務機制:首先在配置檔案中配置,然後編寫消費者的監聽器
相關文章
- RocketMQ訊息丟失解決方案:事務訊息MQ
- RocketMQ訊息丟失解決方案:同步刷盤+手動提交MQ
- 解決RabbitMQ訊息丟失與重複消費問題MQ
- RocketMQ的訊息是怎麼丟失的MQ
- 如何處理RabbitMQ 訊息堆積和訊息丟失問題MQ
- SpringCloud解決feign呼叫token丟失問題SpringGCCloud
- RabbitMQ防止訊息丟失MQ
- JavaScript中解決計算精度丟失的問題JavaScript
- RabbitMQ:訊息丟失 | 訊息重複 | 訊息積壓的原因+解決方案+網上學不到的使用心得MQ
- Nginx session丟失問題處理解決方法NginxSession
- 前後端分離解決session跨域丟失問題後端Session跨域
- RabbitMq如何確保訊息不丟失MQ
- 《RabbitMQ》 | 訊息丟失也就這麼回事MQ
- Vuex資料頁面重新整理丟失問題解決方案Vue
- 資料庫高可靠,輕鬆解決事務丟失問題資料庫
- 【RocketMq】商用RocketMq和開源RocketMq的相容問題解決方案MQ
- Android Gradle指令碼解決美團多渠道打包再加固渠道資訊丟失問題AndroidGradle指令碼
- 【Socket】解決UDP丟包問題UDP
- RabbitMQ-如何保證訊息不丟失MQ
- Redis SortedSet結構score欄位丟失精度問題解決辦法Redis
- 記錄--前端金額運算精度丟失問題及解決方案前端
- Golang浮點數精度丟失問題擴充套件包解決方案Golang套件
- 解決alertmanager重複傳送訊息的問題
- 《RabbitMQ》| 解決訊息延遲和堆積問題MQ
- 【RocketMQ】高階使用:四個問題詳解事務訊息MQ
- 請問 django admin 介面 css 丟失解決辦法?DjangoCSS
- php公眾號開發,訊息丟失的原因和解決辦法PHP
- RocketMQ普通訊息MQ
- RabbitMQ訊息佇列入門及解決常見問題MQ佇列
- webpack-dev-server 代理解決cookie丟失問題--cookiePathRewriteWebdevServerCookie
- thinkphp5丟失日誌問題,該如何解決?PHP
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- git server“丟失”commit問題探究GitServerMIT
- js浮點數丟失問題JS
- git clone失敗問題解決Git
- 完美解決方案-雪花演算法ID到前端之後精度丟失問題演算法前端
- PDF轉圖片部分公式字元丟失問題解決的爬坑記錄公式字元
- git合併丟失程式碼問題分析與解決(錯誤操作導致)Git