前言
簡介
買基金,上京東
基金交易系統(tǒng)是用戶使用京東金融APP進行基金交易的核心支撐系統(tǒng),每天有數(shù)十億元的交易額。
在大額的交易面前,系統(tǒng)的穩(wěn)定性尤其重要,同時基金業(yè)務比較復雜,為保障每個地方的穩(wěn)定,告警埋點很多,加上各種日終檢查,看似很完美,實際卻有了新的問題,因告警太多,日檢滯后,而無法快速處理有效異常,導致對賬延遲和引發(fā)客訴。
結合日常處理經(jīng)驗,我們重新思考是否有好的方式,提前發(fā)現(xiàn)異常,改善此事,于是在基金交易系統(tǒng)中做了一件事情,有效的提高了系統(tǒng)的穩(wěn)定性,以下為此事的主要效果
工單數(shù)量:相對2022年1-6月的客訴總數(shù)(334)減少127個,對賬時間:穩(wěn)定在16點半前完成,異常訂單:從每天幾個變成偶發(fā)出現(xiàn), 后續(xù)流程:比以往有了較強的穩(wěn)定性, 同時也間接的釋放了,因客訴異常引起的資源消耗(客服,產(chǎn)品,研發(fā),工程師),提高了用戶一定體驗和滿意度。
什么事項
為基金交易系統(tǒng)增加了新型的異常預警,能更加有效的提前發(fā)現(xiàn)系統(tǒng)異常,快速解決
為什么做這個事情
在基金交易中,每天有幾十萬的訂單,交易額有數(shù)十億,基金業(yè)務場景不僅又多、又復雜,而且鏈路也比較長,盤后的數(shù)據(jù)檢查經(jīng)常由于各種原因出現(xiàn)異常訂單(運營配置錯誤,基金公司下發(fā)文件異常,系統(tǒng)bug等),而無法順利對賬,影響后續(xù)流程。排查定位和修復問題,需在2小時內完成,如果超過時長會對后續(xù)流程造成嚴重的影響,所以有效異常的提前發(fā)現(xiàn)和預警就非常重要
基金交易系統(tǒng)異常告警無法滿足嗎?
交易系統(tǒng)中現(xiàn)有2種告警,一種是即時告警,一個日終報警
即時告警,由于老項目時間久,存在歷史原因,每天會收到數(shù)千封即時告警郵件,想篩選出真正的有效異常,變得非常困難,還有一定的時效性。
日終報警, 是在每日交易結束后,系統(tǒng)會自動進行日終檢查,如果發(fā)現(xiàn)異常,需在2小時內解決,而且只能對已發(fā)生的結果進行修正,個別異常還好,如果出現(xiàn)批量異常,那么2小時就非常寶貴。短時間內的修復,不僅存在高壓出錯的風險,還可能因此對后續(xù)流程產(chǎn)生隱患,甚至對用戶造成影響,引發(fā)客訴工單。異常工單的處理,是對客服、產(chǎn)品和工程師一種消耗,而且在微服務架構中排查和解決更加復雜耗時??傊看螌~出現(xiàn)異常,總是非常緊張。
你做的預警有什么特點
1、是即時告警和日終報警的補充
2、可通過手機一個界面隨時觀察異常變化
3、15分鐘內即可發(fā)現(xiàn)疑異常訂單
4、可快速定位,精確到重要場景
預警具體怎么做到呢?
首先對賬能否順利,取決異常情況,而異常又無法徹底避免,提前發(fā)現(xiàn)與控制就非常重要
如圖,各種場景都可能出現(xiàn)異常
制定異常發(fā)現(xiàn)和處理策略
面對告警過濾困難,日終滯后, 結合歷史處理經(jīng)驗,對系統(tǒng)進行再次思考,是否有更簡單的方式,能有效的對異常進行實時發(fā)現(xiàn)預警?
通過探討,總結了一個簡單的規(guī)律:
如果關鍵點沒按照指定時間內變更,即可定義為可疑異常 ,其嚴重級別可以通過匯總數(shù)量進行表示
于是制定了如下策略
制定監(jiān)控預警技術方案
1:首先要基于本身的業(yè)務進行識別,基金交易對賬是對訂單的最終標記狀態(tài)校驗,我們假設一個支付的訂單,如果在15分鐘內,訂單的狀態(tài)沒有發(fā)生變化,是否設定為可疑異常?其原因可能很多,如網(wǎng)絡問題、MQ消息延遲、代碼BUG等等,總之是有問題,那么這樣的訂單數(shù)量越大,就代表其影響的訂單就越多,對賬的風險就越高。
2:關鍵點的異常識別,可以采用同樣的邏輯,如果在指定的時間內,關鍵點的狀態(tài)沒有發(fā)生變化,即可設定為可疑對象,比如基金交易的重要場景:申購,贖回,支付,非交易過戶,退款等場景,都可以基于場景數(shù)據(jù)的狀態(tài)變化或者MQ的積壓情況進行識別,舉個申購的例子:用戶申購完成后,后續(xù)的流程是采用MQ和任務的方式執(zhí)行,每個任務都有初始和完成狀態(tài),如果這個申購任務在15分鐘內,沒有標記為完成,即可定義為可疑異常,此類的狀態(tài)的任務越多,影響對賬的風險就越高
落實技術方案
實踐中驗證效果
效果:剛上線只對總訂單和2個場景加了預警,慢慢增加到11個場景,效果也很明顯,異?;旧显诮灰字芯捅惶崆鞍l(fā)現(xiàn),如果操作失誤,可提前告知相關方修正,如果是系統(tǒng)BUG,就可提前緊急修復,后續(xù)再推進根治和架構升級。隨著時間推移,影響對賬異常范圍,雖不能百分百覆蓋,但是容易出錯的關鍵點,已經(jīng)得到有效控制,近幾個月,偶發(fā)才出現(xiàn)幾單(歷史用戶的存量異常訂單引起),對賬得到了有效的保護。
經(jīng)典案例,2023年春節(jié)期間,通過預警發(fā)現(xiàn)幾個異常訂單出現(xiàn),通過排查,是因為基金公司下發(fā)可贖回時間為非交易時間引起,涉及16個TA,4000多條記錄,假如沒提前發(fā)現(xiàn),節(jié)后可能會引發(fā)批量的異常訂單和客訴,形成事故,通過發(fā)現(xiàn)處理,規(guī)避了發(fā)生。
總結
通過這個預警系統(tǒng),我們能夠提前發(fā)現(xiàn)并主動處理對賬事后異常,其技術難度并不高, 更多的講究的是一個方法。對此方法起了一個名字叫"先知預警",也希望此理論能對您的系統(tǒng)有所幫助。例如實戰(zhàn)中,今年618的拉新活動渠道的監(jiān)控,10分鐘如果沒產(chǎn)生訂單就進行電話預警;基金停售提前3天郵件電話預警,都可以用此理論解釋。
先知預警:是一種基于時間序列分析和業(yè)務理解的預測方法,它通過分析歷史數(shù)據(jù)和理解業(yè)務,預測未來可能出現(xiàn)的關鍵點和變化趨勢,并及時進行預警和調整,以確保業(yè)務的穩(wěn)定運行。
作者:京東科技 江亞寧文章來源:http://www.zghlxwxcb.cn/news/detail-623592.html
來源:京東云開發(fā)者社區(qū)文章來源地址http://www.zghlxwxcb.cn/news/detail-623592.html
到了這里,關于一種新的告警收斂方式“先知預警”,為您的系統(tǒng)健康護航的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!