精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

線上Kafka消息堆積,Consumer掉線,怎么辦?

開發 前端
服務端、客戶端都沒有特別的異常日志,kafka其他topic的生產和消費都是正常,所以基本可以判斷是客戶端消費存在問題。

線上kafka消息堆積,所有consumer全部掉線,到底怎么回事?

最近處理了一次線上故障,具體故障表現就是kafka某個topic消息堆積,這個topic的相關consumer全部掉線。

整體排查過程和事后的復盤都很有意思,并且結合本次故障,對kafka使用的最佳實踐有了更深刻的理解。

好了,一起來回顧下這次線上故障吧,最佳實踐總結放在最后,千萬不要錯過。

1、現象

線上kafka消息突然開始堆積

消費者應用反饋沒有收到消息(沒有處理消息的日志)

kafka的consumer group上看沒有消費者注冊

消費者應用和kafka集群最近一周內沒有代碼、配置相關變更

2、排查過程

服務端、客戶端都沒有特別的異常日志,kafka其他topic的生產和消費都是正常,所以基本可以判斷是客戶端消費存在問題。

所以我們重點放在客戶端排查上。

1)arthas在線修改日志等級,輸出debug

由于客戶端并沒有明顯異常日志,因此只能通過arthas修改應用日志等級,來尋找線索。

果然有比較重要的發現:

2022-10-25 17:36:17,774 DEBUG [org.apache.kafka.clients.consumer.internals.AbstractCoordinator] - [Consumer clientId=consumer-1, groupId=xxxx] Disabling heartbeat thread

2022-10-25 17:36:17,773 DEBUG [org.apache.kafka.clients.consumer.internals.AbstractCoordinator] - [Consumer clientId=consumer-1, groupId=xxxx] Sending LeaveGroup request to coordinator xxxxxx (id: 2147483644 rack: null)

看起來是kafka-client自己主動發送消息給kafka集群,進行自我驅逐了。因此consumer都掉線了。

2)arthas查看相關線程狀態變量用arthas vmtool命令進一步看下kafka-client相關線程的狀態。

圖片

可以看到 HeartbeatThread線程狀態是WAITING,Cordinator狀態是UNJOINED。

此時,結合源碼看,大概推斷是由于消費時間過長,導致客戶端自我驅逐了。

于是立刻嘗試修改max.poll.records,減少一批拉取的消息數量,同時增大max.poll.interval.ms參數,避免由于拉取間隔時間過長導致自我驅逐。

參數修改上線后,發現consumer確實不掉線了,但是消費一段時間后,還是就停止消費了。

3、最終原因

相關同學去查看了消費邏輯,發現了業務代碼中的死循環,確認了最終原因。

消息內容中的一個字段有新的值,觸發了消費者消費邏輯的死循環,導致后續消息無法消費。同時,消費阻塞導致消費者自我驅逐,partition重新reblance,所有消費者逐個自我驅逐。

這里核心涉及到kafka的消費者和kafka之間的保活機制,可以簡單了解一下。

圖片

kafka-client會有一個獨立線程HeartbeatThread跟kafka集群進行定時心跳,這個線程跟lisenter無關,完全獨立。

根據debug日志顯示的“Sending LeaveGroup request”信息,我們可以很容易定位到自我驅逐的邏輯。

圖片

HeartbeatThread線程在發送心跳前,會比較一下當前時間跟上次poll時間,一旦大于max.poll.interval.ms 參數,就會發起自我驅逐了。

4、進一步思考

雖然最后原因找到了,但是回顧下整個排查過程,其實并不順利,主要有兩點:

kafka-client對某個消息消費超時能否有明確異常?而不是只看到自我驅逐和rebalance

有沒有辦法通過什么手段發現 消費死循環?

4.1 kafka-client對某個消息消費超時能否有明確異常?

4.1.1 kafka似乎沒有類似機制

我們對消費邏輯進行斷點,可以很容易看到整個調用鏈路。

圖片

對消費者來說,主要采用一個線程池來處理每個kafkaListener,一個listener就是一個獨立線程。

這個線程會同步處理 poll消息,然后動態代理回調用戶自定義的消息消費邏輯,也就是我們在@KafkaListener中寫的業務。

圖片

所以,從這里可以知道兩件事情。

第一點,如果業務消費邏輯很慢或者卡住了,會影響poll。

第二點,這里沒有看到直接設置消費超時的參數,其實也不太好做。

因為這里做了超時中斷,那么poll也會被中斷,是在同一個線程中。所以要么poll和消費邏輯在兩個工作線程,要么中斷掉當前線程后,重新起一個線程poll。

所以從業務使用角度來說,可能的實現,還是自己設置業務超時。比較通用的實現,可以是在消費邏輯中,用線程池處理消費邏輯,同時用Future get阻塞超時中斷。

google了一下,發現kafka 0.8 曾經有consumer.timeout.ms這個參數,但是現在的版本沒有這個參數了,不知道是不是類似的作用。

4.1.2 RocketMQ有點相關機制

然后去看了下RocketMQ是否有相關實現,果然有發現。

在RocketMQ中,可以對consumer設置consumeTimeout,這個超時就跟我們的設想有一點像了。

consumer會啟動一個異步線程池對正在消費的消息做定時做 cleanExpiredMsg() 處理。

圖片

注意,如果消息類型是順序消費(orderly),這個機制就不生效。

如果是并發消費,那么就會進行超時判斷,如果超時了,就會將這條消息的信息通過sendMessageBack() 方法發回給broker進行重試。

圖片

如果消息重試超過一定次數,就會進入RocketMQ的死信隊列。

spring-kafka其實也有做類似的封裝,可以自定義一個死信topic,做異常處理

4.2 有辦法快速發現死循環嗎?

一般來說,死循環的線程會導致CPU飆高、OOM等現象,在本次故障中,并沒有相關異常表現,所以并沒有聯系到死循環的問題。

那通過這次故障后,對kafka相關機制有了更深刻了解,poll間隔超時很有可能就是消費阻塞甚至死循環導致。

所以,如果下次出現類似問題,消費者停止消費,但是kafkaListener線程還在,可以直接通過arthas的 thread id 命令查看對應線程的調用棧,看看是否有異常方法死循環調用。

5、最佳實踐

通過此次故障,我們也可以總結幾點kafka使用的最佳實踐:

  • 使用消息隊列進行消費時,一定需要多考慮異常情況,包括冪等、耗時處理(甚至死循環)的情況。
  • 盡量提高客戶端的消費速度,消費邏輯另起線程進行處理,并最好做超時控制。
  • 減少Group訂閱Topic的數量,一個Group訂閱的Topic最好不要超過5個,建議一個Group只訂閱一個Topic。
  • 參考以下說明調整參數值:max.poll.records:降低該參數值,建議遠遠小于<單個線程每秒消費的條數> * <消費線程的個數> * <max.poll.interval.ms>的積。max.poll.interval.ms: 該值要大于<max.poll.records> / (<單個線程每秒消費的條數> * <消費線程的個數>)的值。
責任編輯:武曉燕 來源: 阿丸筆記
相關推薦

2021-02-24 08:38:48

Kafka消息Consumer

2022-05-10 07:31:49

消息隊列CPUQPS

2024-03-20 08:33:00

Kafka線程安全Rebalance

2020-09-29 12:15:13

生死鎖MySQL

2024-12-12 14:56:48

消息積壓MQ分區

2022-07-14 10:23:39

數據

2022-07-14 10:16:22

Flink

2022-06-24 09:22:15

MySQL自增id

2023-12-21 08:01:41

RocketMQ消息堆積

2019-10-12 09:50:46

Redis內存數據庫

2018-01-28 20:39:39

戴爾

2022-07-05 11:48:47

MySQL死鎖表鎖

2022-12-19 11:31:57

緩存失效數據庫

2017-02-21 13:11:43

SDN網絡體系SDN架構

2009-11-03 08:56:02

linux死機操作系統

2022-05-19 08:01:49

PostgreSQL數據庫

2024-04-22 08:17:23

MySQL誤刪數據

2015-10-22 09:09:59

BAT投資VC

2021-11-08 15:38:15

消息延遲堆積

2024-10-18 09:55:50

RedisHash數據
點贊
收藏

51CTO技術棧公眾號

国产精品久久久久久av公交车| 免费在线视频一级不卡| 久久一级电影| 精品国免费一区二区三区| 青娱乐自拍偷拍| 国产日本在线| 国产成人亚洲综合色影视| 91a在线视频| 亚洲不卡的av| 狼人精品一区二区三区在线 | 亚洲变态欧美另类捆绑| 丝袜老师办公室里做好紧好爽| 美女免费久久| 国产视频一区在线观看| 99久久99久久| 亚洲一区二区三区高清视频| 亚洲激情在线| 欧美乱妇高清无乱码| 人妻少妇无码精品视频区| 日本在线成人| 欧美无砖专区一中文字| 亚洲人成无码网站久久99热国产 | 国产福利精品一区二区三区| 国产在线精彩视频| 亚洲蜜桃精久久久久久久| 欧美极品色图| 国产小视频一区| 国产尤物一区二区| 国产精品欧美亚洲777777| 国产精品第56页| 欧美99在线视频观看| 国产一区二区黄| 中文字幕一区二区三区人妻| 99re热精品视频| 欧美精品在线一区二区| 久久精品国产精品亚洲色婷婷| 最新国产在线拍揄自揄视频| 国产精品免费久久久久| 日韩精品最新在线观看| 欧美女子与性| 久久综合久久久久88| 国产欧美日韩在线播放| 亚洲黄色在线播放| 国产精品456| 92看片淫黄大片欧美看国产片 | 男人天堂视频在线观看| 亚洲成人资源网| 亚洲熟妇无码av在线播放| 成人黄视频在线观看| 亚洲三级视频在线观看| 男同互操gay射视频在线看| 91福利在线视频| 国产精品久久久久影视| 亚洲蜜桃在线| 在线a免费看| 成人免费在线观看入口| 免费看啪啪网站| 成人在线观看免费网站| 亚洲精品国产第一综合99久久 | 欧美日韩视频在线一区二区观看视频| 亚洲AV第二区国产精品| 久久一区二区三区四区| 欧美日韩精品一区| 91在线看片| 国产精品国产三级国产| 异国色恋浪漫潭| 亚洲91av| 欧美午夜激情在线| 国产激情在线观看视频| 高清av一区| 91精品在线观看入口| 中文字幕无码毛片免费看| 91精品短视频| 亚洲欧美日韩国产中文专区| 国产精品情侣呻吟对白视频| 久久久久国产精品| 国产69精品久久久久9999| 国产污污视频在线观看| 日本va欧美va瓶| 成人在线小视频| 亚洲第一成人av| 97aⅴ精品视频一二三区| 日本一区二区高清视频| 色多多视频在线观看| 亚洲主播在线观看| 青青草原av在线播放| 国产精品蜜月aⅴ在线| 欧美一区二区三区日韩视频| 亚洲熟女乱综合一区二区三区| 国产成人久久| 久久不射电影网| 日韩 欧美 综合| 蜜芽一区二区三区| dy888夜精品国产专区| 欧美一区二区三区少妇| 综合久久久久久| 1024av视频| 午夜不卡一区| 日韩第一页在线| 五月婷婷婷婷婷| 亚洲精品资源| 成人激情视频在线观看| 日韩av地址| 最新中文字幕一区二区三区| 免费在线a视频| 在线免费成人| 亚洲欧美日韩在线高清直播| 日韩a级片在线观看| 日韩精品成人一区二区三区| 99在线观看视频网站| av在线资源网| 丁香五六月婷婷久久激情| 黄色小视频免费网站| 亚洲国产合集| 欧美黄色片在线观看| 夜夜嗨aⅴ一区二区三区| 91网址在线看| 日韩视频在线视频| 久久久久九九精品影院| 在线播放亚洲激情| 国产又粗又爽视频| 丁香桃色午夜亚洲一区二区三区| 午夜精品福利一区二区| 高潮一区二区| 日韩成人在线视频观看| 一区二区三区免费高清视频 | 黑森林av导航| 亚洲自拍偷拍网| 国产日韩在线视频| 国产精品一区二区婷婷| 色一情一伦一子一伦一区| 一级少妇精品久久久久久久| 亚洲a一区二区三区| 国产精品视频区1| 污视频在线免费观看| 亚洲亚洲精品在线观看| 日本美女视频网站| 亚洲日本免费| 激情小说综合网| √最新版天堂资源网在线| 欧美岛国在线观看| 国产性xxxx| 国产高清不卡二三区| 玖玖精品在线视频| 日韩精品亚洲专区在线观看| 欧美成在线观看| 午夜精品一二三区| 亚洲夂夂婷婷色拍ww47| 无码人妻aⅴ一区二区三区玉蒲团| 亚洲天堂一区二区| 久久久久久日产精品| 天堂…中文在线最新版在线| 亚洲精品一区二区三区在线| 久久国产精彩视频| 国产成年妇视频| 亚洲欧美视频在线观看视频| 久久精品无码一区二区三区毛片 | 六月丁香婷婷综合| www.欧美色图| 六月丁香婷婷在线| 国产免费播放一区二区| 国产精品男女猛烈高潮激情| 成人高清免费在线播放| 欧美乱妇20p| 成熟的女同志hd| kk眼镜猥琐国模调教系列一区二区 | 亚洲三级在线视频| 精品96久久久久久中文字幕无| 国产一区精品在线| 一二三四视频在线中文| 一区二区在线视频| 国产精品欧美久久久久天天影视| 夜夜精品视频一区二区| 中文字幕一区二区久久人妻网站 | 亚洲麻豆一区二区三区| 欧美在线综合| 在线观看一区欧美| 成人激情自拍| 国产精品美女久久久久久免费 | 日韩一区有码在线| 久久精品aⅴ无码中文字字幕重口| 国产日韩一区| 亚洲一区二区三区精品动漫| 91亚洲无吗| 国产成人精品综合| 天堂va在线| 亚洲天堂免费视频| 国产高清免费观看| 色国产综合视频| 欧美特级一级片| 91免费国产视频网站| 午夜久久福利视频| 亚洲在线电影| 在线观看视频黄色| 亚洲三级网址| 99se婷婷在线视频观看| 日韩高清中文字幕一区二区| 久久艹在线视频| 风间由美一区| 精品国产亚洲在线| 国产乱码在线观看| 亚洲不卡一区二区三区| 日本午夜在线观看| 国产亚洲一区二区三区四区| 亚洲少妇一区二区| 蜜臀av性久久久久蜜臀aⅴ | 日韩免费电影一区二区| 日韩在线成人| 国产精品一区二区女厕厕| yellow字幕网在线| 久久久精品国产网站| 国产天堂在线| 亚洲国产天堂久久综合| 国产理论片在线观看| 91国在线观看| 亚洲另类欧美日韩| 一区二区久久久久| 中日韩一级黄色片| 中文字幕精品一区二区三区精品| 日韩aaaaa| 国产白丝网站精品污在线入口| 亚洲欧美视频二区| 日韩影院免费视频| 爱福利视频一区二区| 最新成人av网站| 日韩在线观看a| 综合日韩在线| 中文字幕在线亚洲精品| 成人综合专区| 视频一区二区三| 国产一区二区三区网| 美女亚洲精品| 伊人久久大香线蕉综合网蜜芽 | 国产又粗又猛又爽又黄| 久99久精品视频免费观看| www.99在线| 日韩精品电影在线| 国产一二三四在线视频| 老司机午夜免费精品视频| 日本黄网站免费| 欧美一级一区| 免费裸体美女网站| 乱人伦精品视频在线观看| 丰满爆乳一区二区三区| 国产日韩欧美三区| 亚洲熟女乱色一区二区三区| 久久国产成人| 日本在线观看免费视频| 美腿丝袜亚洲三区| 加勒比av中文字幕| 国产精品18久久久久久久网站| 中文字幕乱码在线人视频| 波多野结衣在线一区| 女尊高h男高潮呻吟| 久久亚洲精精品中文字幕早川悠里 | 国产欧美精品一区| 亚洲AV成人无码精电影在线| 日韩一区欧美小说| 久久网一区二区| 午夜av一区二区| www毛片com| 欧美日韩在线播放三区四区| 在线视频 中文字幕| 欧美一区二区福利视频| 欧美 日韩 人妻 高清 中文| 日韩av在线精品| 黄色国产在线| 久久精品亚洲94久久精品| 污污的视频在线观看| 午夜伦理精品一区| 日韩电影av| 91九色精品视频| 高潮久久久久久久久久久久久久 | 黑人巨大精品欧美一区二区三区 | av日韩国产| 国产精品高潮粉嫩av| 日本一区二区三区视频在线看| 国产区日韩欧美| 精品欧美久久| 久久人妻无码一区二区| 亚洲欧美日韩视频二区| 男人的天堂日韩| 国产剧情一区二区三区| 你懂得在线视频| 国产精品久99| 91看片在线播放| 在线成人高清不卡| 婷婷在线观看视频| 日韩在线欧美在线| 日韩大片免费观看| 成人av色在线观看| 亚洲老女人视频免费| 一级黄色录像免费看| 男人的天堂成人在线| 亚洲精品久久久久久| 国产女人aaa级久久久级| 久久视频免费看| 欧美日韩成人综合| 亚洲欧洲精品视频| 欧美精品做受xxx性少妇| 色综合天天色| 精品久久sese| 你懂的视频一区二区| 国产真人无码作爱视频免费| 成人小视频在线| 国产在线免费看| 欧美在线一区二区| 午夜黄色小视频| 久久久在线观看| 精品一区二区三区四区五区| 日韩欧美精品一区二区三区经典| 国语精品一区| 亚洲精品在线网址| 中文字幕免费不卡在线| 黄色片视频免费| 亚洲精品xxxx| 激情网站在线| 亚洲a区在线视频| 日韩国产欧美| 天天影视综合色| 久久精品在这里| 免费观看成人毛片| 亚洲第一男人av| 欧美xxxx少妇| 91麻豆精品秘密入口| 亚洲欧美综合久久久| 国产精品自拍视频在线| 国产欧美久久久精品影院| 99久久精品国产亚洲| 亚洲精品成人av| 国产h片在线观看| 国产伦精品一区二区三| 在线精品一区| 性感美女一区二区三区| 亚洲在线视频一区| 亚洲精品久久久久久无码色欲四季 | 日韩欧美国产一二三区| 香蕉久久aⅴ一区二区三区| 成人乱人伦精品视频在线观看| 日韩在线不卡| 蜜臀一区二区三区精品免费视频 | 亚洲欧美综合另类| 精品亚洲aⅴ在线观看| 不卡一二三区| 欧美精品亚洲| 日韩经典一区二区| 国产真人真事毛片视频| 欧美丰满少妇xxxxx高潮对白| 老司机精品视频在线观看6| 成人av在线天堂| 午夜精品久久99蜜桃的功能介绍| 好吊操视频这里只有精品| 亚洲一区二区三区精品在线| 后进极品白嫩翘臀在线视频| 久久久最新网址| 天堂网av成人| 精品久久久久久久无码| 国产精品久久久久久久久免费丝袜| 亚洲一线在线观看| 欧美成人性色生活仑片| 国内精品偷拍| 日本xxxxxxx免费视频| 国产精品理伦片| 亚洲av永久纯肉无码精品动漫| 国内精品久久久久久久久| 亚洲视频分类| wwwwwxxxx日本| 亚洲福利电影网| 九色蝌蚪在线| 97人人干人人| 国产精品一区毛片| 国产精品久久久免费看| 日韩免费电影网站| 亚洲伊人av| 中文网丁香综合网| 成人avav影音| 一级黄色片网站| 国内精品久久久久久久| jvid福利在线一区二区| 中文字幕乱码在线人视频| 欧美午夜激情在线| 国产网站在线免费观看| 国产一区二区三区四区五区在线 | 免费在线日韩av| 国产wwwwxxxx| 亚洲国产成人精品一区二区| 性欧美freehd18| 男人添女人下部视频免费| 久久精品亚洲国产奇米99| 99久久精品国产色欲| 欧日韩不卡在线视频| 亚洲电影在线一区二区三区| 成人性生活免费看| 欧美日韩不卡在线| 中文在线а√在线8| eeuss中文| 国产拍欧美日韩视频二区| 欧洲av在线播放| 91久久久久久国产精品| 久久久久99|