自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

記一次生產(chǎn) Kafka 掛掉的那幾分鐘

開發(fā) 架構(gòu) Kafka
Hello,大家好,我是阿粉,作為一個后端工程師不經(jīng)歷幾次生產(chǎn)事故怎么能成長!阿粉工作幾年來,大大小小,重要不重要的事故也經(jīng)歷了不少,有損失幾十萬的,有對業(yè)務(wù)毫無影響但是不應(yīng)該發(fā)生的,每一次事故都是一次成長,而且從每次的事故中阿粉都能學(xué)到很多東西,不單單是解決問題,更重要的是對線上有了更深的敬意!

[[350058]]

本文轉(zhuǎn)載自微信公眾號「Java極客技術(shù)」,作者鴨血粉絲。轉(zhuǎn)載本文請聯(lián)系Java極客技術(shù)公眾號。  

 Hello,大家好,我是阿粉,作為一個后端工程師不經(jīng)歷幾次生產(chǎn)事故怎么能成長!阿粉工作幾年來,大大小小,重要不重要的事故也經(jīng)歷了不少,有損失幾十萬的,有對業(yè)務(wù)毫無影響但是不應(yīng)該發(fā)生的,每一次事故都是一次成長,而且從每次的事故中阿粉都能學(xué)到很多東西,不單單是解決問題,更重要的是對線上有了更深的敬意!

背景

上周下午兩點(diǎn)多的時候,阿粉正在悠閑的敲著代碼,零星的看到幾條報(bào)警機(jī)器人發(fā)的 Kafka 集群負(fù)載高的報(bào)警信息,看到是負(fù)載高而已就沒怎么在意,更何況這個點(diǎn)還不是高峰期,想著過會應(yīng)該就好了。誰知道過了一會不見好,而且還越來越多,趕緊拿著電腦跑到運(yùn)維處去看看是什么情況。不看不知道,一看嚇一跳,集群中某個 topic 的數(shù)據(jù)寫不進(jìn)去了!但是生產(chǎn)者端沒有任何報(bào)錯,看上去還在正常寫入,集群卻在報(bào)錯,而且消費(fèi)端也沒有消費(fèi)到數(shù)據(jù)。

報(bào)錯內(nèi)容如下:

  1. [2020-10-28 15:12:32,923] ERROR [KafkaApi-2] Error when handling request {replica_id=-1,max_wait_time=500,min_bytes=1,topics=[{topic=xxxx,partitions=[{partition=0,fetch_offset=409292609,max_bytes=1048576}]}]} (kafka.server.KafkaApis) 
  2. java.lang.IllegalArgumentException: Magic v1 does not support record headers 

看到這程序肯定是沒有問題的,因?yàn)樽罱鼪]有升級,嘗試重啟集群和服務(wù)但是問題依舊存在, 這個時候?yàn)榱吮WC業(yè)務(wù)的穩(wěn)定,考慮到這個 topic 可能有問題,決定刪掉這個 topic 然后自動重新創(chuàng)建,雖然會丟失部分?jǐn)?shù)據(jù),但是并不會產(chǎn)生大的影響,但是如果服務(wù)長時間寫不進(jìn)去數(shù)據(jù)將會更嚴(yán)重。

處理

好在我們的服務(wù)是基于 Nacos 做的服務(wù)配置與發(fā)現(xiàn),修改 Nacos 里面的 Kafka 集群配置臨時切換到另一套集群里面,然后重啟服務(wù),因?yàn)槲覀儧]有開啟 Nacos 配置自動生效。切換過后數(shù)據(jù)正常寫入到新的集群,然后手動將舊集群中的有錯誤的 topic 刪掉,刪掉出錯的 topic 過后集群變得一切正常,沒有出現(xiàn)上面的錯誤。既然沒有錯誤了,通過修改 Nacos 將集群配置切換回來,一切也正常。

整個事故從發(fā)現(xiàn)到解決差不多經(jīng)歷了二十幾分鐘,但是因?yàn)閯傞_始忽略了報(bào)警信息,導(dǎo)致差不多影響了一個小時的數(shù)據(jù),好在這個數(shù)據(jù)對線上業(yè)務(wù)本身不會出現(xiàn)大的影響,而且通過切換到臨時集群以及日志數(shù)據(jù),還可以找回來一部分。

事后復(fù)盤了一下,主要總結(jié)了以下幾點(diǎn),分享給大家,共勉:

  1. 敬畏線上!線上環(huán)境報(bào)警信息第一時間查看確保沒問題!
  2. 保證線上數(shù)據(jù)安全,及時備份和切換臨時環(huán)境(這塊一定要做好動態(tài)配置,別慢慢的還要走發(fā)布流程,推薦使用 Nacos);
  3. 事后復(fù)盤,回顧整個處理過程,哪些地方可以優(yōu)化,哪些地方做的不對浪費(fèi)了時間,下次再遇到這種情況是否可以快速解決。生產(chǎn)上時間就是金錢,事故多一分鐘就多一分鐘風(fēng)險(xiǎn),有點(diǎn)時候一分鐘可以改變很多東西。

上面的錯誤網(wǎng)上大部分說的都是版本沖突,但是阿粉這邊并沒有升級過,所以這個問題就比較玄學(xué)了。

總結(jié)

遇到問題不可怕,沒有人能保證服務(wù)不出問題,我們要做的就是在遇到問題的時候沉著泠靜,想到應(yīng)對策略,在最短的時間的想到最好的解決方案,減少風(fēng)險(xiǎn)和損失才是最重要的。另外我們一定懂得敬畏線上,特別的那些非常重要的業(yè)務(wù),不然一旦出現(xiàn)問題后果都是很嚴(yán)重的。

最后邀請你加入我們的知識星球,這里有 1800+ 優(yōu)秀的人與你一起進(jìn)步,如果你是小白那你是穩(wěn)賺了,很多業(yè)內(nèi)經(jīng)驗(yàn)和干貨分享給你;如果你是大佬,那可以進(jìn)來我們一起交流分享你的經(jīng)驗(yàn),說不定日后我們還可以有合作,給你的人生多一個可能。

 

責(zé)任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2022-06-01 06:17:42

微服務(wù)Kafka

2018-12-06 16:25:39

數(shù)據(jù)庫服務(wù)器線程池

2021-03-01 06:14:50

環(huán)境高并發(fā)延遲

2020-09-25 07:57:42

生產(chǎn)事故系統(tǒng)

2019-11-18 13:42:55

MySQL數(shù)據(jù)庫遷移

2019-08-19 01:34:38

數(shù)據(jù)庫SQL數(shù)據(jù)庫優(yōu)化

2019-11-22 08:05:01

數(shù)據(jù)庫mysql分區(qū)

2019-12-12 10:38:10

mysql數(shù)據(jù)庫nnodb

2021-01-12 07:57:36

MySQLBinlog故障處理

2019-08-15 11:30:06

SQL數(shù)據(jù)庫ASH

2019-01-21 11:17:13

CPU優(yōu)化定位

2013-07-02 09:58:38

ClojureClojure教程

2016-09-30 15:13:01

Python代碼

2020-12-15 11:18:43

系統(tǒng)磁盤lvm數(shù)據(jù)庫

2019-09-27 17:24:26

數(shù)據(jù)庫優(yōu)化sql

2019-12-16 07:18:42

數(shù)據(jù)庫SQL代碼

2019-07-25 08:30:58

數(shù)據(jù)庫服務(wù)器故障

2009-12-29 09:01:46

ADSL斷線

2010-01-06 15:35:06

JSON對象

2017-10-27 09:01:26

Oracle存儲管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號