- 本项目是基于RuoYi-Vue单应用版本
- 流量回放引擎基于goreplay
- 演示系统基于newbee-mall-api-go
如果你想从录制开始体验,需要搭建演示系统newbee-mall-api-go ,同时需要将gor 部署在演示系统服务中,搭建kafka以便收集流量(你需要在项目中将KafkaConsumer 这个类的自动注入注释解除)
首先创建一个基准版本的流量数据:
- gor录制流量并发送kafka消息
- 平台通过消费kafka提取对应的字段
- 平台通过指定时间段对录制流量添加对应的版本号,用于后续diff不同版本的接口出参
- 平台回放录制的流量,并将对应的接口出参结果保存起来(因为gor对出参没有办法100%录制,只能通过平台请求对应接口后再保存)
当系统版本迭代时,需要回归原有接口
- 平台通过复制原版本流量,生成新的版本流量(这里复制的数据仅仅只有接口入参)
- 平台回放新的版本流量,保存对应的出参结果
- 平台通过唯一的gorid(录制时产生的),进行diff操作(diff操作需要降噪)
- 平台只存储diff存在异常的结果,相同的结果无需存储
这里的前端页面还没有实现,diff 高亮显示 json指定的key(寻求大佬帮助 )
目前项目只有一人在开发,进度比较缓慢(尤其是前端),寻求大佬共同迭代本项目,也期待您的意见
- jvm-sandbox-repeater 接入
- mock服务
q群:1154555924