流量錄制回放是什么桥帆?
流量錄制:在不影響用戶正常使用的前提下,獲取線上用戶的真實(shí)請求和服務(wù)響應(yīng)結(jié)果,將其保存或者轉(zhuǎn)發(fā)到目標(biāo)應(yīng)用。
采用不同的流量錄制手段伞剑,可以采集不同傳輸階段的流量黎泣。
流量復(fù)制方式:
基于應(yīng)用層的復(fù)制:
優(yōu)點(diǎn):實(shí)現(xiàn)簡單
????? 可以實(shí)現(xiàn)應(yīng)用內(nèi)部方法級(jí)的流量錄制缤谎;
缺點(diǎn):拓展性差抒倚,一般支持某種協(xié)議;
????? 復(fù)制從應(yīng)用層開始,穿過整個(gè)協(xié)議棧,通常要占用底層的資源汁展;
???? ?與應(yīng)用耦合一起,容易對(duì)應(yīng)用造成影響,比如超時(shí)催植;
????? 會(huì)出現(xiàn)丟包的情況笔刹;
基于數(shù)據(jù)包的復(fù)制
缺點(diǎn):復(fù)雜芥备,難度大
優(yōu)點(diǎn):不需要穿過整個(gè)協(xié)議棧,對(duì)資源的占用相對(duì)較低舌菜;
????? 理論上支持此協(xié)議上的所有應(yīng)用層協(xié)議錄制萌壳;
流量回放方式:
? ?在線方式:將復(fù)制的流量實(shí)時(shí)地轉(zhuǎn)發(fā)到目標(biāo)服務(wù)上
? ?離線方式:將復(fù)制的流量先保存到數(shù)據(jù)庫或文件中,再將處理或篩選后的流量回放到目標(biāo)服務(wù)
為什么當(dāng)下被廣泛應(yīng)用日月?
流量復(fù)雜袱瓮,請求構(gòu)造成本比較高;
業(yè)務(wù)復(fù)雜爱咬,業(yè)務(wù)場景梳理困難尺借,流量配比不真實(shí);
服務(wù)復(fù)雜精拟,服務(wù)調(diào)用關(guān)系復(fù)雜燎斩,服務(wù)模塊多虱歪,構(gòu)成成本高;
應(yīng)用場景有哪些栅表?
壓力測試
各大公司進(jìn)行模塊級(jí)壓測或者全鏈路壓測基本都是采用流量錄制的方式笋鄙,先對(duì)錄制的流量進(jìn)行存儲(chǔ),然后對(duì)流量進(jìn)行編輯怪瓶、過濾后通過壓測引擎向被測服務(wù)發(fā)壓
回歸測試
傳統(tǒng)的接口測試方案萧落,通過部署環(huán)境、構(gòu)造請求劳殖、發(fā)送請求铐尚、結(jié)果斷言的方式相對(duì)目前復(fù)雜業(yè)務(wù)場景來說太單一了,一是構(gòu)造的請求過于簡單哆姻,大多是標(biāo)準(zhǔn)的正常的請求宣增,二是環(huán)境依賴太多,封閉環(huán)境部署困難矛缨。所以越來越多的公司項(xiàng)目采用流量回放的方式進(jìn)行穩(wěn)定性測試和功能回歸測試爹脾,結(jié)果評(píng)定主要依賴指標(biāo)統(tǒng)計(jì)維度和response維度的diff。
問題調(diào)試
面對(duì)當(dāng)前節(jié)點(diǎn)眾多箕昭、交互繁雜的微服務(wù)架構(gòu)模式灵妨,問題定位太難了。
數(shù)據(jù)構(gòu)造
錄制的數(shù)據(jù)進(jìn)行數(shù)據(jù)特征分析落竹,聚類場景數(shù)據(jù)泌霍,用于接口測試,當(dāng)然這個(gè)通常指應(yīng)用層錄制的數(shù)據(jù)述召。
數(shù)據(jù)mock
用場景數(shù)據(jù)進(jìn)行接口或方法級(jí)的mock
Badcase挖掘
總之復(fù)雜業(yè)務(wù)場景下朱转,數(shù)據(jù)是分析業(yè)務(wù)場景、構(gòu)建測試環(huán)境积暖、構(gòu)造測試數(shù)據(jù)藤为、保證服務(wù)質(zhì)量的寶貴資源。
有什么局限性夺刑?
使用局限性
新服務(wù)沒有線上流量缅疟,無法進(jìn)行復(fù)制;
對(duì)于復(fù)制的流量遍愿,可能需要進(jìn)行篩選存淫,重新流量配比后才能模擬某個(gè)場景使用;
錄制流量進(jìn)行回放時(shí)错览,和初始真實(shí)場景有變動(dòng)纫雁;
安全性
流量錄制功能對(duì)架構(gòu)和設(shè)計(jì)要求較高,否則容易影響線上性能倾哺;
流量回放需要設(shè)置相關(guān)的標(biāo)識(shí)轧邪,進(jìn)行相關(guān)的短路刽脖、影子苦表處理方式影響線上功能;
注意事項(xiàng)有哪些忌愚?
線上服務(wù)安全保障:流量復(fù)制以不影響線上功能為前提曲管,包括對(duì)線上數(shù)據(jù)、日志的污染硕糊;
錄制流量染色:對(duì)錄制流量進(jìn)行標(biāo)識(shí)院水,以實(shí)現(xiàn)對(duì)錄制流量的特殊處理,包括寫隔離简十、寫短路等檬某;
并發(fā)控制:錄制流量服務(wù)多少要占用服務(wù)資源,尤其應(yīng)用層實(shí)現(xiàn)的錄制回放功能螟蝙,需要進(jìn)行充分的測試評(píng)估才能投入使用恢恼,并根據(jù)實(shí)際情況控制并發(fā);
錄制回放開源項(xiàng)目
如果評(píng)價(jià)錄制回放工具的優(yōu)劣:
部署的復(fù)雜性
使用限制及存在缺陷
比如胰默,必須部署在一個(gè)網(wǎng)段
功能拓展
多點(diǎn)錄制
流量伸縮
實(shí)時(shí)在線模式
性能
占用資源
是否支持高并發(fā)