近期领导让研究下流量回放,找到了阿里开源的 jvm-sandbox-repeater 框架,demo 参考其他大神博客顺利完成,但是实际拿到业务系统落地时候,发现以下几个问题,特此记录(目前使用 agent 模式绑定应用)
一、应用部署方式:
1.主机部署:这类部署方式,直接将打好的 sandbox 包丢到服务器,指定目录启动即可,较顺利
2.容器化集群部署:微服务集群部署后,动态获取节点 ip、如何通用挂载等是主要解决的问题,目前是采用参数化获取 ip,指定端口 12580,以及共享挂载盘的模式,-javaagent 嵌入 java 业务应用启动参数,带起 repeater 服务
二、中文乱码
1.repeater 框架本身默认是 utf8 编码,但是序列化录制的请求和响应信息时,发现有的系统中文会乱码,兼容方案:
框架 http-plugin 下,http 请求,inputstraem 和 outputstream 指定 utf8 编码(框架未显式指定)
三、案例集&批量回放
1.插桩后,每天流量采集的接口特别多,过滤出指定接口后,重复数据如何批量挑选回放
四、token 问题
1.部分系统的接口需要 token,解决配置化动态获取 token
五、比较 diff 时,动态过滤 随机数 uuid 等录制回放一定不一样的字段,采用配置表读取 json 过滤 key 的形式
记录至此,后续有优化继续更新 敬请期待