大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 解決mq消息丟失問題的方案

解決mq消息丟失問題的方案

更新時間:2022-09-15 09:56:57 來源:動力節(jié)點 瀏覽2191次

解決mq消息丟失問題的方案有哪些?動力節(jié)點小編來告訴大家。

1.生產(chǎn)者存放消息的過程中丟失消息

解決辦法:

(1)事務(wù)機制:(同步方式,不推薦)

對于RabbitMQ消息隊列來說,生產(chǎn)者發(fā)送數(shù)據(jù)之前開啟RabbitMQ的事務(wù)機制 channel.txselect,如果消息沒有進隊列,則生產(chǎn)者受到異常報錯,并進行回滾channel.txRollback,然后重試發(fā)送消息。如果收到了消息,則可以提交事務(wù)channel.txCommit。這是同步操作,會影響性能。

(2)異步機制:

confirm模式來解決同步機制的性能問題。每次生產(chǎn)者發(fā)送的消息都會分配一個唯一的id,如果寫入到了RabbitMQ隊列中,則RabbitMQ會回傳一個ack消息,說明這個消息接收成功。如果RabbitMQ沒能處理這個消息,則回調(diào)nack接口。說明需要重試發(fā)送消息。

也可以自定義超時時間 + 消息 id 來實現(xiàn)超時等待后重試機制。但可能出現(xiàn)的問題是調(diào)用ack接口時失敗了,所以會出現(xiàn)消息被發(fā)送兩次的問題,這個時候就需要保證消費者消費消息的冪等性。

事務(wù)模式和confirm模式的區(qū)別:

事務(wù)機制是同步的,提交事務(wù)后悔被阻塞直到提交事務(wù)完成后。

confirm 模式異步接收通知,但可能接收不到通知。需要考慮接收不到通知的場景。

2.消息隊列消息丟失

解決辦法:

(1)創(chuàng)建Queue時,將其設(shè)置為持久化

(2)發(fā)送消息的時候?qū)⑾⒌膁eliveryMode設(shè)置為2(將消息持久化 1:非持久化,2:持久化)

(3)開啟生產(chǎn)者 confirm`模式,可以重試發(fā)送消息。

3.消費者丟失消息

解決辦法:

關(guān)閉RabbitMQ的自動ack,每次生產(chǎn)者將消息寫入消息隊列后,就自動回傳一個ack給生產(chǎn)者。

消費者處理完消息再主動ack,告訴消息隊列我處理完了。

4.總結(jié)

(1)開啟生產(chǎn)者消息手動確認機制

(2)開啟消息持久化,隊列持久化,交換機持久化(默認開啟)

(3)開啟消費者消息手動確認機制

以上就是關(guān)于“解決mq消息丟失問題的方案”介紹,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的RabbitMQ教程,里面的課程內(nèi)容由淺到深,很適合沒有基礎(chǔ)的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 综合网伊人| 人人狠狠综合久久亚洲婷婷 | 爱爱免费网站 | 在线有码| 九九毛片 | 男人猛桶女人下面视频国产 | 亚洲精品成人网 | 久草在线免费看视频 | 不卡国产 | 天天擦天天干 | 久久国产大片 | 国产精品你懂得 | 亚洲欧美精品天堂久久综合一区 | 精品中文字幕在线观看 | 色综合婷婷 | 5388国产亚洲欧美在线观看 | 99久久精品免费看国产高清 | 香港aa三级久久三级老师 | 久久国产成人亚洲精品影院老金 | 男人深夜影院 | 亚洲国产成人久久一区二区三区 | 野外一级毛片 | 色五月在线视频 | 欧美成人啪啪看片 | 色在线国产 | 亚洲乱码一区二区三区在线观看 | 中文字幕日韩在线 | 99久久香蕉| 久久久久久久一线毛片 | 狠狠色狠狠综合久久 | 91不卡在线精品国产 | 91视频综合 | 日本在线观看www | 国产精品一区二区在线播放 | 99精品视频在线这里只有 | 午夜免费 | 亚洲综合色婷婷中文字幕 | 天天草天天 | 国产第一页久久亚洲欧美国产 | 丰满放荡岳乱妇91www | 日本一本二本免费播放视频 |