您现在的位置是:亿华云 > 域名
流量录制回放功能设计点归纳
亿华云2025-10-03 20:08:41【域名】8人已围观
简介引言本文对流量录制和回放常见的方案、用途以及设计原理做个归纳整理。一、解决的问题1.回归测试覆盖率测试用例不足或者遗漏难以覆盖所有场景,导致回归测试费时费力,线上稳定存在隐患,通过真实流量录制在回归测
引言
本文对流量录制和回放常见的流量录制方案、用途以及设计原理做个归纳整理。回放
一、设计解决的点归问题
1.回归测试覆盖率
测试用例不足或者遗漏难以覆盖所有场景,导致回归测试费时费力,流量录制线上稳定存在隐患,回放通过真实流量录制在回归测试时进行覆盖。设计
回归特定接口和链路 回归特定业务场景 全量回归特定业务线2.与全链路压测闭环
解决全链路压测的点归数据准备问题,通过流量录制和回放系统与压测系统打通,流量录制形成从流量录制到压测闭环。回放
定向录制某个链路接口线上流量 对录制流量进行压测打标 增压发起全链路压测3.数据的设计其他用处
抽取线上流量测试环境调试复现 其他用到线上请求数据的地方二、常用方案
流量录制的亿华云计算点归方案和采用技术各种各样,下面梳理两种常用的流量录制技术方案。
1.GoReplay
https://github.com/buger/goreplay实现原理
依赖数据包捕获函数库(Packet Capture library)通过抓网络流量包,回放实现流量录制功能,设计go语言编写。
优点归纳
支持流量录制 支持流量回放 支持流量过滤 支持插件机制 支持重写(URL、参数、Header等) 支持录制限流 抓包实现与服务语言无关缺点归纳
只支持HTTP,其他协议需要二次开发2.jvm-sandbox-repeater
https://github.com/alibaba/jvm-sandbox-repeater
实现原理
实现Java Instrumentation接口编写Agent,通过jvm对外编程接口规范JVMTI,实现对jvm运行信息的获取以及执行程序的加载,java开发。
优点归纳
流量录制和回放 快速扩展插件机制 已支持众多插件支持http/dubbo/mybatis/java/redis等缺点归纳
需要侵入运行服务的源码下载jvm 依赖虚拟机三、实现架构图
下图为基于上述两种方案的设计简图,通过运行一个录制代理ReplayAgent的方式实现。
功能点归纳
录制代理ReplayAgent负责接收控制台指令对GoReplay或sandbox-repeater管控 录制代理上报录制数据流量和监控信息 控制台对流量录制管理 例如:数据完整性、录制任务状态和结果、录制时间、录制流量过滤 控制台对流量回放管理 例如:回放结果状态、时长设定、回放速度等 控制台与压测平台、回归测试平台的通信本文转载自微信公众号「瓜农老梁」,可以通过以下二维码关注。转载本文请联系瓜农老梁公众号。
很赞哦!(8973)
上一篇: 量子计算和数据中心:量子计算对数据中心基础设施的潜在影响
下一篇: 全国数据中心完成顶层布局