网站首页 > 博客文章 正文
大家好。
在日常的软件研发的时候,我们最常打交道的就是 API 的开发,不管是内部系统的功能开发,还是与外部的其他系统联调,都会涉及到 API,而 API 则定义了一组行为,通常我们的系统都是依赖这个行为来完成要做的事。但是对于一个 API 的具体实现来说,它可能随着时间会经历很多次的修改和重构,那么我们如何在频繁的修改 API 的情况,保证 API 调用的稳定呢?
今天要推荐一个流量自动录制和回放的工具 goreplay,通过实时的录制 HTTP 的流量,并且持续的在测试系统上进行相应的回放,能够极大的增加我们对开发系统的信心。以下是系统的架构:
通常我们认为 API 的行为是被清晰定义的,使用方如果按定义的行为进行使用,一般都不会出现什么问题,但是随着 API 开放的时间逐渐增加,你会发现 API 出现了误用,甚至调用也跟最初的规则不太一致,有的 API 甚至过于灵活,甚至都没有规则定义。在这样的情况下,通过对 API 线上真实的调用流量进行录制,通过在线下测试环境进行相应的回放,对返回结果进行比对,能够最大程度的保证 API 的修改覆盖了目前所有的使用情况。
目前 goreplay 在 GitHub 有超过 16.6K 关注,goreplay 使用 Go 语言开发,但是录制流量采用的是 tcpdump 技术,所以对任何语言都是适用的,目前已经有多家公司在内部使用 goreplay 工具。
如果你的公司没有类似的工具,建议你们内部了解调研一下,一定程度上能够提高你们的软件开发的质量和效率。
更多项目详情请查看如下链接。
开源项目地址:https://github.com/buger/goreplay
开源项目作者:buger
关注我们,一起探索有意思的开源项目。
- 上一篇: AREX:携程新一代自动化回归测试工具的设计与实现
- 下一篇: HBase热点与表的设计原则及参数调优
猜你喜欢
- 2024-10-07 元数据与数据治理实战|Zookeeper在大型分布式系统中的应用(3)
- 2024-10-07 HCIE2020__路由交换专家__配置 IPSec VPN
- 2024-10-07 【0基础学爬虫】爬虫基础之抓包工具的使用
- 2024-10-07 Fiddler 窗口布局如何操作详解(fiddler界面)
- 2024-10-07 Zookeeper在大型分布式系统中的应用
- 2024-10-07 Linux下系统 I/O 性能分析的套路(linux ion)
- 2024-10-07 案例|如何定位无线访问互联网故障问题?
- 2024-10-07 「分享」非常全面的CentOS7系统安全检测和加固脚本
- 2024-10-07 Illustrate Asset UPnP Premium 2024.08.07音频设计的 UPnP 服务器软件
- 2024-10-07 IBM MQ---配置Explorer远程连接(ibm mq创建远程队列)
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)