流量回放:保障業務技術升級的神器
回顧
時鍾輪在 RPC 中的應用,核心原理就一個關鍵字“分而治之”,我們可以把它用在任何需要高效處理大量定時任務的場景中,最具有代表性的就是在高並發場景下的請求超時檢測。
流量回放
定義
- 所謂的流量就是某個時間段內的所有請求,我們通過某種手段把發送到 A 應用的所有請求錄制下來,然后把這些請求統一轉發到 B 應用,讓 B 應用接收到的請求參數跟 A 應用保持一致,從而實現 A 接收到的請求在 B 應用里面重新請求了一遍。整個過程我們稱之為“流量回放”。
能做什么
- 可以先把線上一段時間內的請求參數和響應結果保存下來,然后把這些請求參數在新改造的應用里重新請求一遍,最后比對一下改造前后的響應結果是否一致,這就間接達到了使用線上流量測試的效果。有了線上的請求參數和響應結果后,我們再結合持續集成過程,就可以讓我們改動后的代碼隨時用線上流量進行驗證
RPC中怎么支持流量回放
在 RPC 中,我們把能夠接收請求的應用叫做服務提供方,那就是說我們只需要模擬一個應用調用方,把剛才收到的請求參數重新發送一遍到要回歸測試的應用里面,然后比對錄制拿到的請求結果和新請求的結果,就可以完成請求回放的效果。