有多种参数匹配策略,可以设置使用参数相似度对比策略,就能解决参数值不同(时间参数,相关 id 等),从而导致匹配子调用失败的问题(AbstractMockStrategy#execute)
服务器 ip 和数据库的 ip 没直接交互,中间是通过 repeate 和 console 服务中转的。数据库连接的配置改了没,能连通数据库的话 debug 或者打印日志看看
是的,需要改代码的。这个 ip 就是回放机器的 ip,测试的话如果目标服务和 console 服务都在同一台机器 127.0.0.1,应用落地 ip 是可以通过传参设置的,把 ip 当接口参数
回放的接口源码里没有设置回放的 ip 地址,如果你是本地演示,在 controller 层设置回放参数的 ip 为 127.0.0.1,因为 service 层有对 ip 的非空检测,也就是你截图的部分。
源码现在有许多变动了,楼主这套流程走下来目前发现这几个问题:
1.需要改动源码,添加回放的 ip,若本地录制 + 回放,填 127.0.0.1 即可
2.获取回放结果的接口有改动,callback 现在只返回 null
当前可查询回放结果的接口:curl -s 'http://127.0.0.1:8001/facade/api/record/unknown/192168015059156326967477410002edtraceId)('
3.回放结果记录字段 wrapper_record 存在乱码情况(初步判定为录制时出错 RecordServiceImpl#saveRecord,暂未找到出错原因,待大佬们帮忙解决)
楼主最近还有研究吗?按这套流程走不通了好像,到获取回放执行回放那块就会有问题的,源码也改掉了的