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

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

開發(fā) 架構(gòu)
服務(wù)端問題排查(服務(wù)穩(wěn)定性/基礎(chǔ)設(shè)施異常/業(yè)務(wù)數(shù)據(jù)不符合預(yù)期等)對于開發(fā)而言是家常便飯,問題并不可怕,但是每天都要花大量時(shí)間去處理問題會(huì)很可怕;另一方面故障的快速解決至關(guān)重要。

[[271767]]

引言

服務(wù)端問題排查(服務(wù)穩(wěn)定性/基礎(chǔ)設(shè)施異常/業(yè)務(wù)數(shù)據(jù)不符合預(yù)期等)對于開發(fā)而言是家常便飯,問題并不可怕,但是每天都要花大量時(shí)間去處理問題會(huì)很可怕;另一方面故障的快速解決至關(guān)重要。那么目前問題排查最大的障礙是什么呢?我們認(rèn)為有幾個(gè)原因?qū)е拢?/p>

  • 大量的告警信息。
  • 鏈路的復(fù)雜性。
  • 排查過程繁復(fù)。
  • 依賴經(jīng)驗(yàn)。
  • 然而實(shí)際工作中的排查過程并非無跡可尋,其排查思路和手段是可以沉淀出一套經(jīng)驗(yàn)?zāi)P汀?/li>

沉淀路徑

下面是我的訂單列表的簡單抽象,其執(zhí)行過程是先拿到我買到的訂單列表。訂單列表中又用到了賣家,商品以及店鋪信息服務(wù),每個(gè)服務(wù)又關(guān)聯(lián)著單次請求中提供服務(wù)對應(yīng)的主機(jī)信息。

 

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

以線上常見的服務(wù)超時(shí)為例,上圖中因?yàn)?27.123.12.12這臺(tái)機(jī)器出現(xiàn)異常導(dǎo)致商品服務(wù)超時(shí),進(jìn)而導(dǎo)致我的訂單列表服務(wù)超時(shí)。根據(jù)日常中排查思路可以總結(jié)出以下分析范式:

 

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

上面這種分析范式看起來很簡單清晰,但是它首先面臨著以下問題:

  • 如何準(zhǔn)確界定超時(shí)/異常。
  • 上下游調(diào)用鏈路如何生成。
  • 自己和下游,如何確定誰的問題(超時(shí)&異常)。
  • 下游異常時(shí),如何區(qū)分超時(shí)/線程池滿/未知異常。
  • 以上問題本質(zhì)上是底層數(shù)據(jù)埋點(diǎn)問題,幸運(yùn)的是阿里集團(tuán)完備的數(shù)據(jù)建設(shè)使得這些問題基本都能找到很好的解決方案。有了底層數(shù)據(jù)支撐再配合上層抽象出來的這樣一套分析模型,設(shè)計(jì)并實(shí)現(xiàn)一套完全自動(dòng)化問題定位系統(tǒng)是完全有可能的。

系統(tǒng)架構(gòu)

我們認(rèn)為這樣一套問題自動(dòng)定位的系統(tǒng)一定要滿足4個(gè)目標(biāo),這同時(shí)也是整個(gè)系統(tǒng)的難點(diǎn)所在。

  • 準(zhǔn)(定位準(zhǔn)確率不亞于開發(fā)人員)
  • 定位結(jié)果與真實(shí)原因哪怕有一點(diǎn)出入,影響的都是開發(fā)對系統(tǒng)本身的信心,所以準(zhǔn)是一大前提。
  • 快(定位結(jié)果早于監(jiān)控發(fā)現(xiàn))
  • 監(jiān)控作為發(fā)現(xiàn)問題最重要的手段,只有監(jiān)控發(fā)現(xiàn)問題時(shí)能立馬定位出結(jié)果,才真正具有實(shí)用價(jià)值。
  • 簡單(從問題發(fā)現(xiàn)到定位結(jié)果之間的最短鏈路)
  • 線上問題/故障定位爭分奪秒,操作路徑越簡單越有價(jià)值。
  • 自動(dòng)化
  • 全程不需開發(fā)人員參與。

 

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

圍繞著這4大目標(biāo),我們實(shí)現(xiàn)了上面這樣一套完整的定位系統(tǒng),實(shí)現(xiàn)了從告警->定位->快速處理這樣一套完整閉環(huán)。自下而上劃分為4個(gè)模塊,下面講一下每個(gè)模塊解決的問題以及其難點(diǎn)。

數(shù)據(jù)采集

數(shù)據(jù)采集模塊主要負(fù)責(zé)埋點(diǎn)數(shù)據(jù)的采集與上報(bào),需要解決兩個(gè)問題:

  • 海量數(shù)據(jù)。線上的埋點(diǎn)數(shù)據(jù)每時(shí)每刻都在產(chǎn)生,其數(shù)據(jù)量可達(dá)到80G/分鐘。
  • 采集時(shí)延。快作為整個(gè)系統(tǒng)追求的一大目標(biāo),數(shù)據(jù)采集需要滿足低時(shí)延。
  • 可擴(kuò)展指標(biāo)。隨著模型的不斷演進(jìn)完善,需要實(shí)現(xiàn)靈活的增加采集指標(biāo)(cpu/gc/gc耗時(shí)/線程數(shù)等)。
  • 采用SLS+自定義插件庫來實(shí)現(xiàn)線上流量埋點(diǎn)數(shù)據(jù)的采集與上報(bào)。SLS是阿里云研發(fā)針對日志類數(shù)據(jù)的一站式服務(wù),其生命周期管理(TTL)以及極低的存儲(chǔ)成本可以很好的解決海量數(shù)據(jù)帶來的成本問題。

實(shí)時(shí)計(jì)算

實(shí)時(shí)計(jì)算以數(shù)據(jù)采集的輸出作為輸入,負(fù)責(zé)對數(shù)據(jù)進(jìn)行一輪預(yù)處理,包括鏈路數(shù)據(jù)的關(guān)聯(lián)(請求都有唯一標(biāo)識(shí),按照標(biāo)識(shí)group by),數(shù)據(jù)清洗(只選取需要的數(shù)據(jù))以及事件通知。

  • 計(jì)算延時(shí)。從拿到數(shù)據(jù)到最后過濾輸出,要盡可能壓縮計(jì)算延時(shí)來提升整個(gè)系統(tǒng)的時(shí)效性。
  • 多數(shù)據(jù)源協(xié)同。數(shù)據(jù)來源于底層不同的數(shù)據(jù)源,他們之前對應(yīng)著不同的到達(dá)時(shí)間,需要解決數(shù)據(jù)等待問題。
  • 數(shù)據(jù)清洗。需要有一定的策略來進(jìn)行一輪數(shù)據(jù)清洗,過濾出真正有效的數(shù)據(jù),來減少計(jì)算量以及后續(xù)的存儲(chǔ)成本。
  • 存儲(chǔ)成本。雖然經(jīng)過了一輪數(shù)據(jù)清洗,但是隨著累積數(shù)據(jù)量還是會(huì)線性增長。

實(shí)時(shí)分析

當(dāng)收到事件通知后根據(jù)實(shí)時(shí)計(jì)算產(chǎn)出的有效數(shù)據(jù)進(jìn)行自動(dòng)化的分析,輸出問題的發(fā)生路徑圖。需要解決:

  • 實(shí)時(shí)拓?fù)?vs. 離線拓?fù)洹?shí)時(shí)拓?fù)鋵β顸c(diǎn)數(shù)據(jù)有要求,需要能夠?qū)崟r(shí)還原調(diào)用鏈路,但依賴采集數(shù)據(jù)的完整度。離線拓?fù)潆x線生成,不依賴采集數(shù)據(jù)的完整度,但不能準(zhǔn)確反應(yīng)當(dāng)前拓?fù)洹W詈筮x擇了實(shí)時(shí)還原拓?fù)浞绞奖WC準(zhǔn)確率。
  • 數(shù)據(jù)丟失。雖然實(shí)時(shí)計(jì)算中有解決數(shù)據(jù)協(xié)同等待的問題,但無法徹底解決數(shù)據(jù)的丟失問題(數(shù)據(jù)延時(shí)過大/埋點(diǎn)數(shù)據(jù)丟失),延時(shí)以及丟失數(shù)據(jù)需要采取不同的處理策略。
  • 分析準(zhǔn)確率。影響準(zhǔn)確率的因素很多,主要包括數(shù)據(jù)完整度以及分析模型的完備度。

聚合&展示

按照時(shí)間窗口對問題發(fā)生路徑進(jìn)行實(shí)時(shí)聚合,還原問題發(fā)生時(shí)的現(xiàn)場。將監(jiān)控,告警和診斷鏈路進(jìn)行了互通,最大化的縮短從問題發(fā)現(xiàn)到結(jié)果展現(xiàn)的操作路徑。

  • 實(shí)時(shí)聚合 vs. 查詢時(shí)聚合。查詢時(shí)聚合性能差但是很靈活(可以根據(jù)不同的條件聚合數(shù)據(jù)),反之實(shí)時(shí)聚合犧牲了靈活性來保證查詢性能。這里我們選擇保證查詢性能。
  • 并發(fā)問題。采用實(shí)時(shí)聚合首先要解決的是并發(fā)寫(線上集群對同一個(gè)接口的聚合結(jié)果進(jìn)行修改)。最后采取將圖拆解成原子key,利用redies的線程安全特性保證線上集群的寫并發(fā)問題。
  • 存儲(chǔ)成本 vs. 聚合性能。為了解決并發(fā)問題,我們利用redis的線程安全特性來解決,但帶來的一個(gè)問題就是成本問題。分析下來會(huì)發(fā)現(xiàn)聚合操作一般只會(huì)跨越2~5個(gè)窗口,超過之后聚合結(jié)果就會(huì)穩(wěn)定下來。所以可以考慮將聚合結(jié)果持久化。

效果

系統(tǒng)上線以來經(jīng)受住了實(shí)踐的檢驗(yàn),故障以及日常問題的定位效率得到顯著提升,并獲得了穩(wěn)定性的結(jié)果。將日常問題/故障定位時(shí)間從10分鐘縮短到5s以內(nèi),以下是隨機(jī)選取的兩個(gè)真實(shí)case。

案例1:閑魚發(fā)布受影響

監(jiān)控系統(tǒng)發(fā)現(xiàn)商品發(fā)布接口成功率下跌發(fā)出來告警信息,點(diǎn)擊告警診斷直接跳轉(zhuǎn)到問題現(xiàn)場,發(fā)現(xiàn)是因?yàn)榘踩硞€(gè)服務(wù)錯(cuò)誤率飆升導(dǎo)致,整個(gè)過程不到5s。

 

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

案例2: 首頁因?yàn)閱螜C(jī)問題受到影響

閑魚首頁因?yàn)閱螜C(jī)gc問題抖動(dòng)觸發(fā)大量告警信息,秒級給出問題發(fā)生路徑。根據(jù)診斷路徑顯示搜索單機(jī)出現(xiàn)大量異常。

 

一個(gè)系統(tǒng),搞定閑魚服務(wù)端復(fù)雜問題告警-定位-快速處理

總結(jié)

目前整個(gè)系統(tǒng)主要聚焦服務(wù)穩(wěn)定性相關(guān)的問題定位,仍然有許多場景有待覆蓋,信息有待補(bǔ)全,措施有待執(zhí)行,定位只是其中的一環(huán)。最終目的一定是建設(shè)問題定位,隔離,降級,與快速恢復(fù)這樣一個(gè)完整閉環(huán)。要想實(shí)現(xiàn)這樣一個(gè)完整閉環(huán),離不開底層各個(gè)子系統(tǒng)的數(shù)據(jù)建設(shè),核心在于兩點(diǎn)一面的建設(shè):

  • 底層數(shù)據(jù)建設(shè)。完備的數(shù)據(jù)支持一定是整個(gè)系統(tǒng)能夠發(fā)揮價(jià)值的前提,雖然現(xiàn)階段很多系統(tǒng)在產(chǎn)出這方面的數(shù)據(jù),但仍然遠(yuǎn)遠(yuǎn)不夠。
  • 完備的事件抽象。數(shù)據(jù)不僅僅局限于請求產(chǎn)生的埋點(diǎn)數(shù)據(jù),其范圍應(yīng)該更為廣泛(應(yīng)用發(fā)布,線上變更,流量波動(dòng)等),任意可能對線上造成影響的操作都應(yīng)該可以抽象成一個(gè)事件。
  • 知識(shí)圖譜的建立。僅僅有完備的事件并沒有多大的價(jià)值,真正的價(jià)值在于把這些事件關(guān)聯(lián)起來,在問題/故障發(fā)生時(shí)第一時(shí)間還原現(xiàn)場,快速定位問題。
責(zé)任編輯:武曉燕 來源: Cocoachina
相關(guān)推薦

2017-04-11 16:16:48

HTTPS互聯(lián)網(wǎng)服務(wù)端

2009-10-30 09:54:52

Internet接入

2024-04-01 13:18:15

App架構(gòu)服務(wù)端

2023-09-11 10:53:32

2023-06-28 06:33:37

2023-01-04 10:24:42

2022-12-27 08:43:18

系統(tǒng)思維設(shè)計(jì)思維創(chuàng)新

2016-10-28 15:53:18

2020-11-11 07:09:05

隔離直播系統(tǒng)

2022-04-18 09:00:00

數(shù)據(jù)庫向量機(jī)器學(xué)習(xí)

2022-09-20 10:41:32

接口優(yōu)化網(wǎng)絡(luò)

2024-01-02 13:58:04

GoREST API語言

2024-11-05 18:18:48

2021-04-30 09:32:38

服務(wù)端渲染SSR

2022-05-22 13:55:30

Go 語言

2010-07-30 13:35:32

NFS服務(wù)端口

2024-06-21 08:02:22

2024-09-23 10:00:00

代碼Python

2019-11-05 08:24:34

JavaOOM快速定位

2015-05-06 13:39:15

Windows系統(tǒng)復(fù)雜
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本久久网 | 欧美日韩一区在线观看 | 午夜影院在线观看视频 | 亚洲一区二区精品视频 | 91精品无人区卡一卡二卡三 | 中文字幕在线观看国产 | 五月婷婷婷 | 国产在线精品免费 | 精品综合久久久 | 精品免费国产一区二区三区四区 | 91久久久久久久久久久久久 | 激情av | 亚洲国产视频一区二区 | 成人免费观看网站 | www.亚洲成人网 | 中文字幕精品一区二区三区在线 | 欧美亚洲一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 黄色一级视频 | 日韩视频在线免费观看 | 日韩午夜电影在线观看 | 日本特黄a级高清免费大片 成年人黄色小视频 | 久久久久久久久久久久亚洲 | 天堂男人av | 国产精品日本一区二区不卡视频 | 国内自拍视频在线观看 | 999久久久 | 97国产精品视频人人做人人爱 | 伊人精品视频 | 在线观看国产91 | 亚洲一二三区不卡 | 一区二区三区四区在线 | 欧美一区免费 | 在线成人福利 | 久久久久久国产精品免费免费 | 亚洲美乳中文字幕 | 国产激情一区二区三区 | 国产一区二区三区在线看 | 国产欧美精品区一区二区三区 | 一区二区三区在线观看视频 | 天堂网avav |