流量自动录制回放工具,让软件研发更高效

大家好。

在日常的软件研发的时候,我们最常打交道的就是 API 的开发,不管是内部系统的功能开发,还是与外部的其他系统联调,都会涉及到 API,而 API 则定义了一组行为,通常我们的系统都是依赖这个行为来完成要做的事。但是对于一个 API 的具体实现来说,它可能随着时间会经历很多次的修改和重构,那么我们如何在频繁的修改 API 的情况,保证 API 调用的稳定呢?

今天要推荐一个流量自动录制和回放的工具 goreplay,通过实时的录制 HTTP 的流量,并且持续的在测试系统上进行相应的回放,能够极大的增加我们对开发系统的信心。以下是系统的架构:

image-20230102192533867

通常我们认为 API 的行为是被清晰定义的,使用方如果按定义的行为进行使用,一般都不会出现什么问题,但是随着 API 开放的时间逐渐增加,你会发现 API 出现了误用,甚至调用也跟最初的规则不太一致,有的 API 甚至过于灵活,甚至都没有规则定义。在这样的情况下,通过对 API 线上真实的调用流量进行录制,通过在线下测试环境进行相应的回放,对返回结果进行比对,能够最大程度的保证 API 的修改覆盖了目前所有的使用情况。

目前 goreplay 在 GitHub 有超过 16.6K 关注,goreplay 使用 Go 语言开发,但是录制流量采用的是 tcpdump 技术,所以对任何语言都是适用的,目前已经有多家公司在内部使用 goreplay 工具。

image-20230102193006963

如果你的公司没有类似的工具,建议你们内部了解调研一下,一定程度上能够提高你们的软件开发的质量和效率。

更多项目详情请查看如下链接。

开源项目地址:https://github.com/buger/goreplay

开源项目作者:buger

关注我们,一起探索有意思的开源项目。


更多精彩请扫码关注如下公众号。

Written on January 2, 2023