FA8# 流量录制回放功能设计点归纳
瓜农老梁
共 1061字,需浏览 3分钟
· 2022-01-23
本文对流量录制和回放常见的方案、用途以及设计原理做个归纳整理。
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管控
录制代理上报录制数据流量和监控信息
控制台对流量录制管理 例如:数据完整性、录制任务状态和结果、录制时间、录制流量过滤
控制台对流量回放管理 例如:回放结果状态、时长设定、回放速度等
控制台与压测平台、回归测试平台的通信
评论
机械臂抓取/6D位姿估计/三维点云/缺陷检测方向交流群成立啦
点击下方卡片,关注「3D视觉工坊」公众号选择星标,干货第一时间送达添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如机械臂抓取+清华+小草莓)▲长按扫码添加助理大家好,我是小草莓!我们3D视觉工坊成立了计算机视觉各个方向的交流群,详细如下所示,欢迎添加小助理,邀请你加群!3D视觉
3D视觉工坊
0
给AIPC浇点“冷水”
随着4月18日联想在其Tech World上发布了他们所定义的国内市场上首个“严格意义上的AIPC产品”,加上4月11日华为发布的MateBook X
Pro、3月22日微软发布的Surface Pro 10 商用版和 Surface Laptop 6 商用版、3 月 18 日荣耀发布的MagicB
中智观察
0
自动控制方面的大牛们/2D圆盘跟随式AI涂胶视觉检测系统/点光谱弧面玻璃轮廓度检测
微信改了推送规则,如果您还想收到我们的推送!点击上方“机器视觉”,右上角...选择“置顶/星标”公众号行业资讯机器视觉十大应用场景介绍 控制理论研究领域目前遇到的瓶颈是什么? 控制理论到底有什么用?自动控制方面的大牛们都有哪些主要贡献?OpenCV 5 进度更新 2024 年 4
机器视觉
0
想赚点小钱,来淘金副业群!
前两天参加一个圈内非常有名的社群聚会,我自己只能算是小卡拉米,一直很想破圈,看看外边有什么机会,或者有什么好的赛道和风口,有的时候比你道行高的人一句话就可能点醒你。因为向上链接非常重要,我也是在朋友的推荐下进入了这个圈子,结果让我大开眼界,获益良多,受益匪浅。当天到场的嘉宾老师都很牛逼,我简单列一下
菜鸟学Python
0
从一点不喜欢到喜欢!我承认,我变了
01从小我就不怎么爱喝水,特别是喝茶。而且还有很多不喜欢吃的食物,比如:鸡鸭鹅、肥肠、蘑菇、木耳等,害怕吃这些。但随着年龄的增大,渐渐有些东西也开始能接受了。不渴不喝,我从小也没有自己的水壶、水杯。唯一记得的是在读小学的时候,夏天学校会要求睡午觉,我就只在睡午觉的时喜欢喝水,而且是偷偷喝那种哦!偷偷
Creator星球游戏开发社区
10
如此丝滑的绳子,太过份了!用来做点什么好呢?
这绳子,丝滑的也太为过份了吧!下面有体验链接,大家可以亲自试试。记得多年前,晓衡也曾遇到这样的挑战:需要一条能够随手指拖动、具有物理效果的绳子!可是总是不尽人意,要不穿帮太难看,要不就性能太低跑不动。但今天,总算让我逮到这条 Cocos Creator 实现的湿滑绳子,一切都变得简单起来!开发者逐夜
Creator星球游戏开发社区
10
想赚点小钱,来淘金副业群!
前两天参加一个圈内非常有名的社群聚会,我自己只能算是小卡拉米,一直很想破圈,看看外边有什么机会,或者有什么好的赛道和风口,有的时候比你道行高的人一句话就可能点醒你。因为向上链接非常重要,我也是在朋友的推荐下进入了这个圈子,结果让我大开眼界,获益良多,受益匪浅。当天到场的嘉宾老师都很牛逼,我简单列一下
菜鸟学Python
0
SpingBoot的5个扩展点,超级实用!
目录1、初始化器ApplicationContextInitializer2、监听器ApplicationListener3、Runner4、BeanFactoryPostProcessor5、BeanPostProcessor6、后记1、初始化器ApplicationContextInitializer我们在启动Spring Boot项目...
Java技术精选
0