国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何保證消息隊列的可靠性傳輸?

snifes / 3322人閱讀

摘要:消息丟失分成三種情況,可能出現(xiàn)生產(chǎn)者消費者。生產(chǎn)者丟失數(shù)據(jù)生產(chǎn)者丟失數(shù)據(jù)首先要確保寫入的消息別丟,消息隊列通過請求確認(rèn)機(jī)制,保證消息的可靠傳輸。只有消息被持久化到磁盤以后,才會回傳消息。

消息丟失分成三種情況,可能出現(xiàn)生產(chǎn)者、RabbitMQ、消費者。

生產(chǎn)者丟失數(shù)據(jù)

首先要確保寫入 RabbitMQ 的消息別丟,消息隊列通過請求確認(rèn)機(jī)制,保證消息的可靠傳輸。生產(chǎn)開啟 comfirm 模式,在生產(chǎn)者開啟 comfirm 模式之后,每次發(fā)送消息都會分配一個唯一的id。

  • 如果寫入了 RabbitMQ 中,RabbitMQ 會回傳一個 ack 消息
  • 如果沒能寫入 RabbitMQ,會回調(diào)一個 nack 接口, 可以重新發(fā)送消息

一般在生產(chǎn)者這塊避免數(shù)據(jù)丟失,都是用 confirm 機(jī)制的

RabbitMQ丟失數(shù)據(jù)

RabbitMQ 丟失數(shù)據(jù),需要開啟 RabbitMQ 持久化,開啟持久化之后,生產(chǎn)者發(fā)送的消息會持久化到磁盤,RabbitMQ 就算是掛了,恢復(fù)啟動后也會讀取之前存儲的數(shù)據(jù)。
還有一種少見的情況,就是RabbitMQ還沒將消息持久化,自己就掛了。這種情況需要生產(chǎn)者那邊的確認(rèn)機(jī)制結(jié)合起來。只有消息被持久化到磁盤以后,才會回傳 ack 消息。生產(chǎn)者沒有接收到 ack,也可以自己重發(fā)。

消費者丟失數(shù)據(jù)

消費丟失數(shù)據(jù),剛消費到 RabbitMQ 發(fā)送的數(shù)據(jù),消費進(jìn)程就掛了,重啟進(jìn)程后,RabbitMQ 也不會重新發(fā)送消息。
這個時候需要關(guān)閉 RabbitMQ 關(guān)閉自動的 ack 機(jī)制。每次在消費端處理后,再在程序里做 ack 確認(rèn),這樣的話,如果沒有處理完,就沒有 ack 確認(rèn),那 RabbitMQ 就認(rèn)為你還沒有處理完,這個時候 RabbitMQ 會重新發(fā)送消息給消費者。

總結(jié)

  • 生產(chǎn)者
    • 開啟確認(rèn) comfirm 機(jī)制
  • MQ
    • 開啟 RabbitMQ 持久化
  • 消費者
    • 關(guān)閉RabbitMQ 自動 ack 確認(rèn)

如果覺得文章對你有幫助的話,請點個推薦吧!

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/124131.html

相關(guān)文章

  • 消息隊列二三事

    摘要:但是我們明顯能感覺到這會降低吞吐量,因為消息不能并行投遞了,而且會阻塞等待,也沒法發(fā)揮的威力。 最近在看kafka的代碼,就免不了想看看消息隊列的一些要點:服務(wù)質(zhì)量(QOS)、性能、擴(kuò)展性等等,下面一一探索這些概念,并談?wù)勗谔囟ǖ南㈥犃腥鏺afka或者mosquito中是如何具體實現(xiàn)這些概念的。 服務(wù)質(zhì)量 服務(wù)語義 服務(wù)質(zhì)量一般可以分為三個級別,下面說明它們不同語義。 At most...

    dack 評論0 收藏0
  • 阿里云正式推出消息隊列Kafka:全面融合開源生態(tài)

    摘要:在全面兼容Apache Kafka生態(tài)的基礎(chǔ)上,消息隊列Kafka徹底解決ApacheKafka穩(wěn)定性不足的長期痛點,并且支持消息無縫遷移到云上。 近日,阿里云宣布正式推出消息隊列Kafka,全面融合開源生態(tài)。在全面兼容Apache Kafka生態(tài)的基礎(chǔ)上,消息隊列Kafka還具備了超易用,超高可用可靠性,擴(kuò)縮容不操心,全方位安全診斷,數(shù)據(jù)安全有保障的特點。可用行達(dá)99.9%,數(shù)據(jù)可靠行99...

    aisuhua 評論0 收藏0
  • kafka消息隊列

    摘要:為什么使用消息隊列消息隊列的優(yōu)缺優(yōu)點解耦異步消峰缺點系統(tǒng)的可用性降低,系統(tǒng)引入的外部依賴越多,越容易掛掉系統(tǒng)復(fù)雜性提高數(shù)據(jù)一致性問題常用消息隊列的優(yōu)缺點技術(shù)非常成熟,但是偶爾會出現(xiàn)較低概率的丟失消息,而且現(xiàn)在社區(qū)以及國內(nèi)應(yīng)用都越來越少社區(qū)相 為什么使用消息隊列消息隊列的優(yōu)缺 1優(yōu)點 (1) 解耦 (2) 異步 (3) 消峰 2 缺點 (1)系統(tǒng)的可用性降低,系統(tǒng)引入的外部依賴越多...

    godlong_X 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<