成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:對于 MQ 中的消息重復消費說說的你的理解

數(shù)據(jù)庫
在消費者進行消費消息時,首先根據(jù)消息唯一標識判斷是否已經消費過,可以使用 Redis 或者 MySQL 中的唯一索引等方式,然后來判斷該消息是否可以被消費。?

今天這是MQ消息消費必問面試的第三個問題,重復消費。如果你還沒有看消息丟失、消息堆積,可以先去點擊鏈接進行查看。

面試官:對于MQ中的消息丟失你是如何理解的?

面試官:對于MQ中的消息堆積你是怎么理解的?

首先我們先看一下消息重復消費的定義,就是字面意思,一條消息被消費執(zhí)行了多次。可以是一個消費者消費了多次,也可以是多個消費者消費了同一條消息。

一、重復消費消息對系統(tǒng)的影響

消息重復消費可能導致數(shù)據(jù)在數(shù)據(jù)庫中被重復插入,這其實還好,重復插入只要不是影響業(yè)務,在查詢時去重也可以解決,俗稱治標不治本。

如果是通知類消息,用戶可能會收到多條通知,對于用戶的體驗會有所影響。

但是消息的重復消費最壞的就是導致數(shù)據(jù)的不一致,如果是訂單類的系統(tǒng),多次消費帶來的不一致可能是致命的錯誤,例如多次扣款、超賣等。

消息重復消費在系統(tǒng)高并發(fā)的時候會嚴重的影響系統(tǒng)性能,消費者吞吐量下降造成消息堆積等。

二、消息發(fā)生重復消費的原因

消息重復消費產生的原因有很多,比如上一篇文章消息堆積中產生消息堆積的原因之一,消費者異常多次重試消費。

  • 消費者在消費消息的過程中,業(yè)務代碼異常一直重試,沒有對異常行為進行控制造成單條消息卡住,一直重復消費。
  • 消費者應答機制不合理,在消費者處理完業(yè)務之后無法正常應答或者因網絡原因應答失敗。
  • 配置錯誤,手動ack,消費者消費完成之后沒有成功ack。

三、消息重復消費解決方案

  • 合理配置應答機制,手動應答,消費者業(yè)務處理盡量簡單,對各種異常做好處理,增強應用系統(tǒng)健壯性。
  • 消息重試次數(shù)增加限制,防止消息一直重試。
  • MQ中配置合理的消息語義,保證至少一次,然后業(yè)務端做好去重。
  • 增加消息唯一標識,消費過的消息不在進行處理。
  • 消費端業(yè)務邏輯處理冪等,保證不管消費多少次都與消費一次的結果相同。
  • 使用死信隊列,當消息一直重復消費時加入死信隊列。
  • 監(jiān)控,發(fā)現(xiàn)異常消息消費及時告警。

總結

消息重復產生的原因可以概括為兩點,應答失敗與業(yè)務異常循環(huán)消費單條消息。

對于消息的重復消費,業(yè)界用的最多的,還是消息唯一標識加冪等。消費端代碼盡可能的對異常情況做好處理,保證在發(fā)生異常之后可以正確的應答。

對于消息唯一標識這里簡單說兩句,可以生產者加入消息唯一標識,消費者也加入唯一標識,生產者與消費者不必相同,保證消息唯一即可。

在消費者進行消費消息時,首先根據(jù)消息唯一標識判斷是否已經消費過,可以使用 Redis 或者 MySQL 中的唯一索引等方式,然后來判斷該消息是否可以被消費。

責任編輯:趙寧寧 來源: 醉魚Java
相關推薦

2024-06-06 11:38:55

2024-06-06 11:57:44

2020-08-17 07:40:19

消息隊列

2021-11-25 10:18:42

RESTfulJava互聯(lián)網

2021-08-09 07:47:40

Git面試版本

2020-12-01 08:47:36

Java異常開發(fā)

2020-06-12 15:50:56

options前端服務器

2019-05-10 10:50:04

Spring AOPJDK動態(tài)代理CGLIB動態(tài)代理

2021-10-15 09:53:12

工具

2021-09-16 07:52:18

算法應用場景

2021-09-06 10:51:27

TypeScriptJavaScript

2021-09-26 10:57:16

集合操作場景

2021-09-27 06:50:04

非線性數(shù)據(jù)

2021-09-07 08:33:27

JavaScript TypeScript 函數(shù)

2020-12-04 06:27:04

序列化面試官Java

2021-11-09 08:51:13

模式命令面試

2021-11-05 07:47:56

代理模式對象

2021-11-02 22:04:58

模式

2021-11-10 07:47:49

組合模式場景

2022-02-21 17:24:18

序列化對象存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特一级毛片 | 国产在线视频一区二区董小宛性色 | 精品一区二区三区91 | 农村黄性色生活片 | 国产精品久久国产愉拍 | 91在线视频观看免费 | 成年人国产在线观看 | 欧美黑人激情 | 国产91精品久久久久久久网曝门 | 亚洲国产成人精品久久久国产成人一区 | 天堂视频免费 | 日韩免费视频一区二区 | 精品久久久久久久久久久 | 国产一区二| 啪啪免费 | 日本视频一区二区三区 | 国产免费自拍 | 一级做a爰片性色毛片16美国 | 中文字幕国 | 免费一级淫片aaa片毛片a级 | 欧美高清一区 | 久久精品一区二区视频 | 在线不卡一区 | 九九看片| 最新中文字幕在线 | 伊人伊成久久人综合网站 | 欧美激情精品久久久久久 | 狠狠干天天干 | 欧美一a一片一级一片 | 欧美一级片在线看 | 99久久国产 | 免费国产视频 | 成人小视频在线免费观看 | 一级毛片免费 | 国产传媒在线播放 | 精品日韩在线 | 午夜精品久久久久久久久久久久久 | 欧美激情va永久在线播放 | 中午字幕在线观看 | 久久久福利 | 久久精品国产亚洲夜色av网站 |