1 引言
目前線下環境存在業務流量小、流量來源複雜不穩定、流量質量不高的特點,一直缺乏比較有效的風險發現手段;但是線下風險發現有利於風險左移,將問題扼殺在成本最小的線下。
本文提出一種利用單筆全風險全量數據採集、精細化分析發現以及豐富的規則庫的優勢,實現線下流量的風險覆蓋的方案;並通過與check 歸一 和智能測試平臺打通,實現線下流量的自動化迴歸和風險分析閉環。
2 線下流量風險覆蓋
2.1 單筆全風險精細化發現
單筆依賴全量的數據採集、豐富的校驗規則對每一筆流量負責。原始的採集數據包括服務基本信息,機器信息、兩碼一號、RPC上下游出入參、異常堆棧、zadal、msg、zcatche相關數據;依賴這些數據產出了智人RPC一致性規則、單筆通用中間件分析、錯誤碼打標分析以及自定義規則。截止發稿,數金-財富域共覆蓋P1P2服務750+;清洗出服務級別的錯誤碼1600+個,其中系統錯誤碼400+個,高危錯誤碼(零容忍錯誤碼)144個,業務錯誤碼530+個;清洗智人規則2700+個。
2.1 單筆精細化發現
單筆核心能力包括:
全量數據採集能力(包括調用下游的RPC、DB、消息、tair等高可用數據)
精細化發現能力(包括通用中間件分析、業務錯誤碼打標、精細化業務規則校驗、智人一致性規則清洗和校驗)
數據聚合和降燥能力(提供tracerId聚合、靜態SLO計算以及基於基線的異動分析)
變更攔截能力(支持按變更影響面(環境、zone、機器)、告警級別(零容忍、聚合類)等策略,攔截方式支持前置和後置兩種。)
詳細介紹請移步《單筆全風險-業務精細化故障發現利器》這裡不再贅述。
2.2 線下風險閉環
基於單筆的線下流量分析將實現流量自動化迴歸->單筆流量精細化檢查->流量有效性驗收全閉環的覆蓋模式,真正的將線下流量看管起來,將問題發現左移。
2.2 風險閉環示意圖
智能測試平臺負責sit環境端到端流量的自動化觸發,同時單筆SDK實時採集該流量的所有相關信息,上報給核對系統檢查,最後上傳給風險運營平臺落庫;智能測試平臺收到業務返回結果後,通過tracerId諮詢check歸一校驗結果,check規則查詢風險運營平臺後組裝結果,返回給智能測試平臺。具體流程見下圖:
2.3校驗數據流
針對線下流量小、流量來源複雜、流量質量不高(包含很多測試流量)的特點,單筆做了針對性的解決方案:
·線下流量小:流量小意味著以往按照時序流量分析的方案不太可行,而單筆依賴全量的數據採集能力,擁有一個RPC調用過程中的幾乎所有中間數據,為精細化發現提供了可能。另外利用智人線上數據訓練的強一致性規則和單筆豐富的規則庫可以有效覆蓋線下流量的高可用和資金安全風險。
·流量不穩定:線下流量(dev/stable/sit)流量來源複雜多變,數據質量不一。本文通過SDK採集過濾智能測試平臺流量標+sit環境過濾的方式,將線下流量的鎖定在智能測試平臺觸發的sit環境流量。
3 總結與展望
線下流量風險覆蓋是個比較大的課題,實現高質量的檢查與核對,不僅依賴完善的端到端測試用例,更依賴精確的檢驗規則。單筆將穩步前進,深紮下去。