面試題 如何保證消息的可靠性傳輸?或者說,如何處理消息丟失的問題? 面試官心理分析 這個是肯定的,用 MQ 有個基本原則,就是數據不能多一條,也不能少一條,不能多,就是前面說的重復消費和冪等性問題。不能少,就是說這數據別搞丟了。那這個問題你必須得考慮一下。 如果說你這個是用 MQ ...
RabbitMQ 生產者弄丟了數據 生產者將數據發送到RabbitMQ的時候,可能數據就在半路給搞丟了,因為網絡啥的問題,都有可能。 此時可以選擇用RabbitMQ提供的事務功能,就是生產者發送數據之前開啟RabbitMQ事務 channel.txSelect ,然后發送消息,如果消息沒有成功被RabbitMQ接收到,那么生產者會收到異常報錯,此時就可以回滾事務 channel.txRollbac ...
2018-11-26 15:19 0 1885 推薦指數:
面試題 如何保證消息的可靠性傳輸?或者說,如何處理消息丟失的問題? 面試官心理分析 這個是肯定的,用 MQ 有個基本原則,就是數據不能多一條,也不能少一條,不能多,就是前面說的重復消費和冪等性問題。不能少,就是說這數據別搞丟了。那這個問題你必須得考慮一下。 如果說你這個是用 MQ ...
原文鏈接(作者一個人):https://juejin.im/post/5d468591f265da03b810427e 工作中經常用到消息中間件來解決系統間的解耦問題或者高並發消峰問題,但是消息的可靠性如何保證一直是個很大的問題,什么情況下消息就不見了?如何防止消息丟失?下面通過這篇 ...
目錄 生產者丟失消息 代碼模擬 事務 confirm模式確實 數據退回監聽 MQ事務相關軟文推薦 MQ丟失信息 消費者丟失信息 之前我們簡單介紹 ...
消息丟失分成三種情況,可能出現生產者、RabbitMQ、消費者。 生產者丟失數據 首先要確保寫入 RabbitMQ 的消息別丟,消息隊列通過請求確認機制,保證消息的可靠傳輸。生產開啟 comfirm 模式,在生產者開啟 comfirm 模式之后,每次發送消息都會分配一個唯一的id ...
1.消費端弄丟了數據 唯一可能導致消費者弄丟數據的情況,就是說,你消費到了這個消息,然后消費者那邊自動提交了 offset,讓 Kafka 以為你已經消費好了這個消息,但其實你才剛准備處理這個消息,你還沒處理,你自己就掛了,此時這條消息就丟咯。 這不是跟 RabbitMQ 差不多嗎,大家都知道 ...
繼續上篇文章解決RabbitMQ消息丟失問題和保證消息可靠性(一) 未完成部分,我們聊聊MQ Server端的高可用和消費端如何保證消息不丟的問題? 回歸上篇的內容,我們知道消息從生產端到服務端,為了保證消息不丟,我們必須做哪些事情? 發送端采用Confirm模式,注意Server端 ...
一、消息如何保證可靠性傳輸 1.1、可能出現消息丟失的情況 1、Producer在把Message發送Broker的過程中,因為網絡問題等發生丟失,或者Message到了Broker,但是出了問題,沒有保存下來 針對這個問題,Producer可以開啟MQ的事務,如果這個過程出現異常 ...
人生終將是場單人旅途,孤獨之前是迷茫,孤獨過后是成長。 楔子 本篇是消息隊列RabbitMQ的第四彈。 RabbitMQ我已經寫了三篇了,基礎的收發消息和基礎的概念我都已經寫了,學任何東西都是這樣,先基礎的上手能用,然后遇到問題再去解決,無法理解就去深入源碼,隨着時間的積累對這一 ...