<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          FA8# 流量錄制回放功能設(shè)計點歸納

          共 1061字,需瀏覽 3分鐘

           ·

          2022-01-23 05:19


          本文對流量錄制和回放常見的方案、用途以及設(shè)計原理做個歸納整理。

          一、解決的問題

          1.回歸測試覆蓋率

          測試用例不足或者遺漏難以覆蓋所有場景,導(dǎo)致回歸測試費時費力,線上穩(wěn)定存在隱患,通過真實流量錄制在回歸測試時進(jìn)行覆蓋。

          • 回歸特定接口和鏈路
          • 回歸特定業(yè)務(wù)場景
          • 全量回歸特定業(yè)務(wù)線

          2.與全鏈路壓測閉環(huán)

          解決全鏈路壓測的數(shù)據(jù)準(zhǔn)備問題,通過流量錄制和回放系統(tǒng)與壓測系統(tǒng)打通,形成從流量錄制到壓測閉環(huán)。

          • 定向錄制某個鏈路接口線上流量
          • 對錄制流量進(jìn)行壓測打標(biāo)
          • 增壓發(fā)起全鏈路壓測

          3.數(shù)據(jù)的其他用處

          • 抽取線上流量測試環(huán)境調(diào)試復(fù)現(xiàn)
          • 其他用到線上請求數(shù)據(jù)的地方
          二、常用方案


          量錄制的方案和采用技術(shù)各種各樣,下面梳理兩種常用的技術(shù)方案。

          1.GoReplay

          https://github.com/buger/goreplay

          實現(xiàn)原理

          依賴數(shù)據(jù)包捕獲函數(shù)庫(Packet Capture library)通過抓網(wǎng)絡(luò)流量包,實現(xiàn)流量錄制功能,go語言編寫。

          優(yōu)點歸納

          • 支持流量錄制
          • 支持流量回放
          • 支持流量過濾
          • 支持插件機制
          • 支持重寫(URL、參數(shù)、Header等)
          • 支持錄制限流
          • 抓包實現(xiàn)與服務(wù)語言無關(guān)

          缺點歸納

          • 只支持HTTP,其他協(xié)議需要二次開發(fā)

          2.jvm-sandbox-repeater

          https://github.com/alibaba/jvm-sandbox-repeater

          實現(xiàn)原理

          實現(xiàn)Java Instrumentation接口編寫Agent,通過jvm對外編程接口規(guī)范JVMTI,實現(xiàn)對jvm運行信息的獲取以及執(zhí)行程序的加載,java開發(fā)。

          優(yōu)點歸納

          • 流量錄制和回放
          • 快速擴(kuò)展插件機制
          • 已支持眾多插件支持http/dubbo/mybatis/java/redis等

          缺點歸納

          • 需要侵入運行服務(wù)的jvm
          • 依賴虛擬機
          三、實現(xiàn)架構(gòu)圖

          下圖為基于上述兩種方案的設(shè)計簡圖,通過運行一個錄制代理ReplayAgent的方式實現(xiàn)。

          功能點歸納

          • 錄制代理ReplayAgent負(fù)責(zé)接收控制臺指令對GoReplay或sandbox-repeater管控

          • 錄制代理上報錄制數(shù)據(jù)流量和監(jiān)控信息

          • 控制臺對流量錄制管理 例如:數(shù)據(jù)完整性、錄制任務(wù)狀態(tài)和結(jié)果、錄制時間、錄制流量過濾

          • 控制臺對流量回放管理 例如:回放結(jié)果狀態(tài)、時長設(shè)定、回放速度等

          • 控制臺與壓測平臺、回歸測試平臺的通信


          瀏覽 104
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷色五月在线观看视频 | 福利视频午夜 | 欧美日本视频在线观看 | 中文无码熟妇人妻AV在线 | 大香蕉操操网 |