日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

知物由学 | 易盾SaaS系统资损防控体系建设

發(fā)布時間:2023/12/14 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知物由学 | 易盾SaaS系统资损防控体系建设 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

易盾業(yè)務主要分內(nèi)容安全、業(yè)務安全和移動安全三部分,內(nèi)容安全主要給客戶提供反垃圾機器檢測能力,文本、圖片和音視頻。并和人工審核、SAAS審核系統(tǒng)組合成全家桶。業(yè)務安全主要是提供認證類的服務,包括驗證碼,號碼日志,信息認證。移動安全是通過加固和其他手段保護客戶的應用,防止被逆向破解。

結(jié)算業(yè)務是易盾最重要的基礎(chǔ)服務,承擔著易盾的資金管理工作,隨著易盾用戶量的高速增長,結(jié)算業(yè)務承擔的責任越重,風險也越大。自然而然,對于我們測試同學也提出更高的要求。在我們搭建這套體系前,回歸手段比較傳統(tǒng),自動化用例維護成本較高,覆蓋不夠全面。也沒有完備的線上監(jiān)控,缺乏自我發(fā)現(xiàn)的能力,有較大的資損風險,并且故障發(fā)生到發(fā)現(xiàn)的時間很長,導致故障的影響面擴大,用戶的信任度降低。

1.1、結(jié)算流程介紹

以反垃圾的結(jié)算流程為例:

首先圖片、文本、音頻和視頻等業(yè)務服務檢測完成以后會通過各自的storage模塊將檢測量或者審核量發(fā)送給kafka,bill-collect模塊收到消息后會根據(jù)業(yè)務配置以及套餐信息計算并寫入到redis,隨后統(tǒng)計任務會將上個時間段存在redis的數(shù)據(jù)持久化入庫,最終由多個結(jié)算任務對前一天持久化的數(shù)據(jù)進行結(jié)算。任何一個環(huán)節(jié)出問題都會影響最終的結(jié)算結(jié)果。

1.2、痛點分析

結(jié)算的痛點一直是團隊心病,內(nèi)部溝通過后將痛點總結(jié)為以下三點:

下面我們會針對這三個問題各個擊破。

測試工具改進

2.1、痛點分析

上面大致介紹了一下結(jié)算的流程,整個流程涉及到多個的模塊、中間件以及定時任務。對日常的測試以及回歸造成了不小的困擾。首當其沖的就是影響測試進度,正常的測試流程一般是今天我先發(fā)一批數(shù)據(jù),然后算一下大概要扣多少錢,明天來對一下扣費是否符合預期。如果測試過程中發(fā)現(xiàn)了一個代碼Bug,反饋給開發(fā)改完。再發(fā)一波數(shù)據(jù),后天再來對一下。一個需求測試測試周期被拉得比較長。碰到多個結(jié)算相關(guān)的需求湊在一起測試,環(huán)境又只有一套,可能出現(xiàn)你發(fā)完數(shù)據(jù)以后,第二天來發(fā)現(xiàn)測試分支被發(fā)走了,那么昨天的數(shù)據(jù)相當于白發(fā)了。整個測試效率都非常低。

2.2、改進方案

需求測試效率低的根因是鏈路長和結(jié)算數(shù)據(jù)復雜度,因此我們的解決方案是構(gòu)造不同階段、不同時間段的數(shù)據(jù)。并且將任務觸發(fā)和數(shù)據(jù)構(gòu)造功能集成到一起,大大節(jié)約了測試所需時間。

2.3、功能展示

回歸方案優(yōu)化

3.1、歷史手段

原有的回歸方案是全鏈路的回歸方案的,在gotest上面創(chuàng)建兩個執(zhí)行集,一個每天定時往某個產(chǎn)品發(fā)送指定量的文本、圖片、視頻和音頻等數(shù)據(jù),另外一個是校驗結(jié)果執(zhí)行集,根據(jù)指定發(fā)送的量計算一個預估值,定時去校驗前一天的計費數(shù)據(jù)是否符合預估值。經(jīng)過一段時間的驗證以后發(fā)現(xiàn)這種方案很不穩(wěn)定,執(zhí)行集經(jīng)常報警。原因是這種全流程驗證的手段不靈活,數(shù)據(jù)多發(fā)或者少發(fā)一條都會導致實際結(jié)果不符合預估值,再者測試環(huán)境用的人比較多,任意一個依賴的模塊掛掉都會影響最終的結(jié)果。并且由于業(yè)務增值服務配置項特別多,傳統(tǒng)的方案每次新增用例也要在配置上花很多時間。

3.2、改進方案

因為構(gòu)造數(shù)據(jù)的工具是現(xiàn)成的了,我們的回歸方案能不能基于現(xiàn)成的功能去做。通過實踐證明這個方案是可行的,通過結(jié)算工具直接構(gòu)造結(jié)算數(shù)據(jù),新的回歸方案只對結(jié)算模塊進行驗證,可能有同學有疑問?你的回歸方案只保障了結(jié)算模塊的邏輯,如何保障全鏈路沒有問題呢。我這里先賣個關(guān)子,我們后面再講。

3.3、功能展示

線上監(jiān)控建設

4.1、線上問題分析

工欲善其事必先利其器,想要解決問題,就需要先分析問題,團隊內(nèi)部首先將近三年結(jié)算相關(guān)的線上問題撈出來,然后根據(jù)這些問題產(chǎn)生的原因,將問題進行分類,根據(jù)是否存在資損風險大致分為兩類,有資損風險的和沒資損風險的。然后再將有資損風險的進行細分類,一共分為三種:數(shù)據(jù)統(tǒng)計、套餐結(jié)算、配置轉(zhuǎn)換。我們的目標就先覆蓋這三類問題。

4.2、線上案例舉例

4.2.1、案例一

問題現(xiàn)象:文檔解決方案結(jié)算數(shù)據(jù)偏多

問題原因:經(jīng)排查發(fā)現(xiàn)是因為kafka數(shù)據(jù)重復消費導致的,kafka client每次會批量拉取max-poll-records的數(shù)據(jù)下來處理,如果在max.poll.interval.ms時間內(nèi)未處理完,kafka會認為client掛了并移除掉,然后觸發(fā)reblance,這時候如果超時的client未提交offset,則可能導致數(shù)據(jù)重復消費

4.2.2、案例二

問題現(xiàn)象:新增音頻檢測場景計費偏多

問題原因:結(jié)算代碼對新增的音頻場景計算錯誤,應該是按照分鐘去計算(數(shù)據(jù)量/60 * 單價),實際上是按次去計算(數(shù)據(jù)量*單價)。導致計算結(jié)果偏大。

4.3、線上監(jiān)控設計目標

4.4、方案設計

通過歷史bug的回溯,我們總結(jié)出了絕大部分問題產(chǎn)生的原因,那么基于此,我們設計了一套全流程對賬的方案,方案的核心在于:

1、獨立維護一套業(yè)務配置映射計費系數(shù)

2、使用和結(jié)算流程不一樣的數(shù)據(jù)源

3、設計一套類似的結(jié)算方法

通過這種方法就能保證,這個三個地方任何一個點出問題,最后的結(jié)果都會有差異,從而起到監(jiān)控的作用

4.5、優(yōu)化迭代

最初設計的方案肯定是不完美的,覆蓋的場景有限并且計算結(jié)果和真實的結(jié)果有一定誤差,因此需要不斷去優(yōu)化,如何去優(yōu)化呢?目前我們的迭代方案是 添加更多的產(chǎn)品監(jiān)控->找出有誤差的產(chǎn)品->分析誤差的原因->優(yōu)化誤差,誤差的原因和我們的方案設計一樣,分為三種,分別是配置問題、算法問題和數(shù)據(jù)源問題。

以我們已經(jīng)解決過的幾個問題為例:

1、配置問題:原始的方案是添加監(jiān)控的時候讀一次配置,后來配置發(fā)送變化沒有同步,導致最終結(jié)果對不上。優(yōu)化接入業(yè)務jar包,監(jiān)聽配置變更,配置持久化入庫。

2、算法優(yōu)化

3、數(shù)據(jù)源優(yōu)化:圖片檢測gif圖時,是根據(jù)真實檢測數(shù)去計費,這個檢測數(shù)沒有存到業(yè)務方的數(shù)據(jù)庫,真實計費用的這個檢測數(shù),導致數(shù)據(jù)源查出來的數(shù)據(jù)偏小,已經(jīng)提需求給開發(fā)同學優(yōu)化。

總結(jié)

對以上內(nèi)容進行一個總結(jié):

1、測試工具提效:
支持各種階段數(shù)據(jù)構(gòu)造
定時同步最新計費場景
提供對外API供其他業(yè)務部門調(diào)用
2、回歸任務優(yōu)化:
只對結(jié)算模塊進行回歸
通過代碼覆蓋率評估回歸用例完備性
3、線上監(jiān)控系統(tǒng)建設:
每日對客戶結(jié)算數(shù)據(jù)就行對賬
支持歷史數(shù)據(jù)回溯
異常客戶報警

收益以及產(chǎn)出

線上對賬系統(tǒng)上線一個季度后累計發(fā)現(xiàn)兩個線上BUG,一個故障。
【線上監(jiān)控報警】結(jié)算歸檔數(shù)據(jù)結(jié)算出錯
【線上BUG】包量套餐超量扣費場景歸檔數(shù)據(jù)計算不對
【故障】點播音視頻數(shù)據(jù)漏結(jié)算問題復盤

測試工具以及回歸用例提效明顯
手工測試效率
2d->4h
自動化用例新增&維護成本
4h->0.5h

未來規(guī)劃

未來的規(guī)劃主要分為三個方向

橫向擴展:接入更多子服務(目前接入子服務:反垃圾、反外掛、驗證碼)
縱向擴展:目前線上監(jiān)控做的內(nèi)容是針對我們的客戶進行對賬,同時我們有很多服務接入的外部供應商,這個部分目前是缺少監(jiān)控的,也會造成資損問題。后續(xù)也會將供應商的監(jiān)控納入范圍。
降噪,減少誤報

總結(jié)

以上是生活随笔為你收集整理的知物由学 | 易盾SaaS系统资损防控体系建设的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。