20 | Mock:如何屏蔽第三方接口的影响?
高楼
你好,我是高楼。这节课,我们聊一聊全链路压测中 Mock 技术的落地。
曾经也有不少人问我,在压测过程中,第三方接口响应时间慢怎么办呢?其实,响应时间慢,容量达不到要求,这是在依赖第三方系统的全链路压测过程中必然会面对的问题。这个时候,性能测试还要做,开发也不会为了性能测试修改业务代码,第三方我们也驱动不了。为了解决这个问题,我们就不得不用上 Mock 技术了。
什么是 Mock 呢?简单来说就是指使用各种技术手段模拟出各种需要的资源以供测试使用。Mock 技术目前按应用场景主要分两大类:
Mock 一个对象,构造返回预期的数据,主要适用于单元测试;
Mock 一个 Server ,构造返回预期的服务,主要适用于接口和性能测试。
而对于我们全链路压测来说,最主要使用的技术还是 Mock Server。
Mock Server 的逻辑是非常直观的:
通过这张图我们可以看到,真实用户和压测用户是走同样的应用服务节点的。但不同的是,真实用户最终会走到真实的第三方服务,而压测用户会走到 Mock Server 上去。
请注意,在全链路压测的过程中,我们要 Mock 的是压测流量。而在整个逻辑中,我们是直接在应用服务中做标记透传、识别、流量隔离的,所以压测流量和正式流量是用同样的应用服务。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Mock技术在全链路压测中的应用是解决第三方接口响应慢的问题的有效手段。文章介绍了Mock技术的两大应用场景:Mock一个对象用于单元测试,Mock一个Server用于接口和性能测试。在全链路压测中,主要使用Mock Server来模拟第三方服务,实现压测流量的隔离。同时,文章提到了Service Mesh的全链路逻辑实现方式,以及其无法实现对数据库、缓存、队列等的隔离。因此,Mock技术成为了必不可少的知识点。具体实践中,可以选择现有的前后端Mock Server框架,或者自行搭建Mock Server来实现对第三方服务的隔离。文章还介绍了前端Mock Server的搭建过程,并提供了一个常见的Mock Server示例。此外,文章还详细介绍了Moco这一后端Mock Server工具的基本特性和使用方法,以及针对不同类型的接口进行的具体演示。通过Moco,开发人员可以方便地模拟各种请求类型,并验证服务的响应。总的来说,Mock技术在全链路压测中的应用对于解决第三方接口影响的问题具有重要意义。文章为读者提供了Mock技术在压测中的应用的重要性以及Moco工具的基本特性和使用方法,为读者快速了解Mock技术在压测中的应用提供了有益的参考。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》,新⼈⾸单¥59
《全链路压测实战 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 张彦松压测的mockserver,与常规功能的mockserver差异:1、需要能模拟下游的响应时间;2、能支持高并发;3、最好不要侵入代码。本来推全链路压测就困难重重。所以为了不侵入代码,用agent的方式,是否会好一些?
作者回复: 本地mock可以用agent的方式,要是远程的话,不会产生侵入代码。
2023-09-04归属地:上海 - 周俊诚mock server是个框架,可以根据自己服务需求定制开发API格式
作者回复: 非常正确,用过的都知道。
2022-07-29归属地:北京 - 南昌体检代检怎么解决代码侵入性问题呢
作者回复: 要屏蔽就必须侵入。侵入就侵入了,又有什么关系呢。
2022-07-14归属地:北京 - yaojunjie520Mock Server可以根据自己的服务开发吗?还是说必须使用这个服务才叫Mock Server?
作者回复: 可以根据自己的服务所需要的接口做报文定制。mock服务本身不用自己开发。
2022-05-31 - Geek_c149bf有源码吗
作者回复: 文章中有。
2022-04-18
收起评论