简介
功夫熊猫(Kung Fu Panda),目标是想做成一个通用的请求录制、回放、响应对比、压测平台,目前请求录制、回放、响应对比完成度已经很高,支持 http、grpc 协议。
这件事的背景是,业务系统会有非常大的改动,但是没有测试流程,甚至无法通过回放请求来验证改动。
接口
下面是 HTTP 接口映射,主要用于 DEBUG。对于生产环境,提供了 Go 和 C++ 版本的 SDK。
const std::unordered_map<std::string, ViewFunc> kRestfulApiViews = {
{"/api/echo", api_echo},
{"/api/grpc/echo", api_grpc_echo},
{"/api/replay", api_replay},
{"/api/replayv2", api_replay_v2},
{"/api/debug/stat", api_debug_stat},
{"/api/debug/sample", api_debug_sample},
{"/api/log/record", api_log_record},
{"/api/log/sample", api_log_sample},
{"/api/log/stat", api_log_stat},
};实战
生产环境中,在 Go 和 C++ 工程都有应用,请求的录制、回放、结果对比功能用起来都很顺手,在服务重构过程中起到了举足轻重的作用。