RDebug基于真實流量的研發(fā)調(diào)試利器
RDebug 是滴滴開源的一款用于 RD 研發(fā)、自測、調(diào)試的實用工具,可以被用來提升 RD 研發(fā)效率、保障代碼質(zhì)量進而減少線上事故。
適用場景
適用于對已有接口進行代碼重構(gòu)、功能升級,且該接口已經(jīng)有錄制的流量。
不適合新開發(fā)的接口 或 未進行流量錄制的接口。
支持新接口的方案在調(diào)研中。
技術(shù)方案
因為我們需要使用線上的真實流量來進行線下的回放測試,所以我們需要將線上的真實流量保存下來,然后將保存的真實流量在線下環(huán)境進行回放一遍。故 Rdebug 的核心技術(shù)方案就是 流量錄制和流量回放。
流量錄制: 即錄制線上服務(wù)的真實請求,包括調(diào)用下游服務(wù)的 RPC 請求。流量錄制的難點在于如何將上下游請求以及每次 RPC 的請求/響應(yīng)一一對應(yīng)。
流量回放: 即用線上錄制的流量,對線下測試代碼進行回放,通過流量匹配 mock 掉下游 RPC 請求。因此,流量回放的難點在于請求的攔截和匹配。
整體架構(gòu)圖:
評論
圖片
表情
