RDebug 是滴滴开源的一款用于RD研发、自测、调试的实用工具,可以被用来提升RD研发效率、保障代码质量进而减少线上事故。
适用场景适用于对已有接口进行代码重构、功能升级,且该接口已经有录制的流量。
不适合新开发的接口或未进行流量录制的接口。
支持新接口的方案在调研中。
技术方案因为我们需要使用线上的真实流量来进行线下的回放测试,所以我们需要将线上的真实流量保存下来,然后将保存的真实流量在线下环境进行回放一遍。故Rdebug的核心技术方案就是 流量录制和流量回放。
流量录制:即录制线上服务的真实请求,包括调用下游服务的RPC请求。流量录制的难点在于如何将上下游请求以及每次RPC的请求/响应一一对应。
流量回放:即用线上录制的流量,对线下测试代码进行回放,通过流量匹配mock掉下游RPC请求。因此,流量回放的难点在于请求的拦截和匹配。
整体架构图:
评论