摘要:消息丟失分成三種情況,可能出現(xiàn)生產(chǎn)者消費(fèi)者。生產(chǎn)者丟失數(shù)據(jù)生產(chǎn)者丟失數(shù)據(jù)首先要確保寫入的消息別丟,消息隊(duì)列通過(guò)請(qǐng)求確認(rèn)機(jī)制,保證消息的可靠傳輸。只有消息被持久化到磁盤以后,才會(huì)回傳消息。
消息丟失分成三種情況,可能出現(xiàn)生產(chǎn)者、RabbitMQ、消費(fèi)者。
首先要確保寫入 RabbitMQ 的消息別丟,消息隊(duì)列通過(guò)請(qǐng)求確認(rèn)機(jī)制,保證消息的可靠傳輸。生產(chǎn)開啟 comfirm 模式,在生產(chǎn)者開啟 comfirm 模式之后,每次發(fā)送消息都會(huì)分配一個(gè)唯一的id。
一般在生產(chǎn)者這塊避免數(shù)據(jù)丟失,都是用 confirm 機(jī)制的
RabbitMQ 丟失數(shù)據(jù),需要開啟 RabbitMQ 持久化,開啟持久化之后,生產(chǎn)者發(fā)送的消息會(huì)持久化到磁盤,RabbitMQ 就算是掛了,恢復(fù)啟動(dòng)后也會(huì)讀取之前存儲(chǔ)的數(shù)據(jù)。
還有一種少見(jiàn)的情況,就是RabbitMQ還沒(méi)將消息持久化,自己就掛了。這種情況需要生產(chǎn)者那邊的確認(rèn)機(jī)制結(jié)合起來(lái)。只有消息被持久化到磁盤以后,才會(huì)回傳 ack 消息。生產(chǎn)者沒(méi)有接收到 ack,也可以自己重發(fā)。
消費(fèi)丟失數(shù)據(jù),剛消費(fèi)到 RabbitMQ 發(fā)送的數(shù)據(jù),消費(fèi)進(jìn)程就掛了,重啟進(jìn)程后,RabbitMQ 也不會(huì)重新發(fā)送消息。
這個(gè)時(shí)候需要關(guān)閉 RabbitMQ 關(guān)閉自動(dòng)的 ack 機(jī)制。每次在消費(fèi)端處理后,再在程序里做 ack 確認(rèn),這樣的話,如果沒(méi)有處理完,就沒(méi)有 ack 確認(rèn),那 RabbitMQ 就認(rèn)為你還沒(méi)有處理完,這個(gè)時(shí)候 RabbitMQ 會(huì)重新發(fā)送消息給消費(fèi)者。
如果覺(jué)得文章對(duì)你有幫助的話,請(qǐng)點(diǎn)個(gè)推薦吧!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/124131.html
摘要:但是我們明顯能感覺(jué)到這會(huì)降低吞吐量,因?yàn)橄⒉荒懿⑿型哆f了,而且會(huì)阻塞等待,也沒(méi)法發(fā)揮的威力。 最近在看kafka的代碼,就免不了想看看消息隊(duì)列的一些要點(diǎn):服務(wù)質(zhì)量(QOS)、性能、擴(kuò)展性等等,下面一一探索這些概念,并談?wù)勗谔囟ǖ南㈥?duì)列如kafka或者mosquito中是如何具體實(shí)現(xiàn)這些概念的。 服務(wù)質(zhì)量 服務(wù)語(yǔ)義 服務(wù)質(zhì)量一般可以分為三個(gè)級(jí)別,下面說(shuō)明它們不同語(yǔ)義。 At most...
摘要:在全面兼容Apache Kafka生態(tài)的基礎(chǔ)上,消息隊(duì)列Kafka徹底解決ApacheKafka穩(wěn)定性不足的長(zhǎng)期痛點(diǎn),并且支持消息無(wú)縫遷移到云上。 近日,阿里云宣布正式推出消息隊(duì)列Kafka,全面融合開源生態(tài)。在全面兼容Apache Kafka生態(tài)的基礎(chǔ)上,消息隊(duì)列Kafka還具備了超易用,超高可用可靠性,擴(kuò)縮容不操心,全方位安全診斷,數(shù)據(jù)安全有保障的特點(diǎn)。可用行達(dá)99.9%,數(shù)據(jù)可靠行99...
摘要:為什么使用消息隊(duì)列消息隊(duì)列的優(yōu)缺優(yōu)點(diǎn)解耦異步消峰缺點(diǎn)系統(tǒng)的可用性降低,系統(tǒng)引入的外部依賴越多,越容易掛掉系統(tǒng)復(fù)雜性提高數(shù)據(jù)一致性問(wèn)題常用消息隊(duì)列的優(yōu)缺點(diǎn)技術(shù)非常成熟,但是偶爾會(huì)出現(xiàn)較低概率的丟失消息,而且現(xiàn)在社區(qū)以及國(guó)內(nèi)應(yīng)用都越來(lái)越少社區(qū)相 為什么使用消息隊(duì)列消息隊(duì)列的優(yōu)缺 1優(yōu)點(diǎn) (1) 解耦 (2) 異步 (3) 消峰 2 缺點(diǎn) (1)系統(tǒng)的可用性降低,系統(tǒng)引入的外部依賴越多...
閱讀 3456·2021-11-22 12:04
閱讀 2783·2019-08-29 13:49
閱讀 549·2019-08-26 13:45
閱讀 2347·2019-08-26 11:56
閱讀 1100·2019-08-26 11:43
閱讀 659·2019-08-26 10:45
閱讀 1350·2019-08-23 16:48
閱讀 2272·2019-08-23 16:07