本文共 824 字,大约阅读时间需要 2 分钟。
一、Repeater整体架构
1.1 Jvm-Sandbox-Repeater简介
Jvm-Sandbox-Repeater是一个基于Jvm-Sandbox的 服务端录制/回放 通用解决方案
1.1.1 服务端录制回放的概念
1.1.2 Repeater核心原理
1.1.3 名词解释
- 录制:把一次请求的入参、出参、下游RPC、DB、缓存等序列化并存储的过程
- 回放:把录制数据还原,重新发起一次或N次请求,对特定的下游节点进行MOCK的过程
- 入口调用:入口调用一般是应用的流量来源,比如http/dubbo,在调用过程中录制调用入参、返回值。回放时作为流量发起和执行结果对比依据
- 子调用:子调用是调用执行过程中某次方法调用,区别于入口调用,该调用不作为回放发起录制时会记录该方法的入参、返回值,回放时用该返回值进行MOCK
- MOCK:在回放时,被拦截的子调用不会发生真实调用,利用Sandbox的流程干预能力,将录制时的返回值直接返回
1.1.4 Repeater特性
- 无侵入:无需修改代码,无需重启jvm
- 通用性:支持所有JVM类型语言
- 可插拔:随时启停、随时卸载
- 扩展性:简单几行代码即可适配一个常用插件
1.1.5 Repeater应用场景
二、插件开发&使用演示
2.1 repeater-console体验
三、问题解答
3.1 对性能的影响
结论:线上采样率控制在一定范围内,性能影响可接受
3.2 推荐使用agent方式还是attach方式
针对录制回放场景,推荐使用attach方式启动,更灵活,更可控,需要注意attach瞬间的影响
3.3 如何动态推送配置
配置变更后,用户主动推送,配置实时生效,无需重启
3.4 如何快速搭建测试平台
直接部署 repeater-console 到生产环境,把 repeater-module 分发到目标机器,录制后回放到指定环境
相关地址:
转载地址:http://muxii.baihongyu.com/