大家好,我是光城,来实习整整两周,在这两周期间,主要做Protobuf rpc通信框架 Mock Server实现。今天主要分享的是我对Mock Server的一些看法以及实践经验,仅供大家参考与学习,如果有什么不对的地方,还请大家指教,下面进入正文。
首先来谈谈,什么是Mock Server?
现考虑如下系统:
一些人负责开发系统,一些人负责开发依赖的服务,那开发完系统的人,如何测试它的系统性能呢,总不可能一直的等到后面依赖服务开发完,再去联调吧,于是Mock Server就应运而生。Mock Server可以作为前后端任务分离的一种测试方案,双方规定好传输的协议数据,那么就可以造出Mock Server来模拟依赖方的服务,相当于我们可以造出简单的依赖方服务,或者说模拟出依赖方服务,而在测试我们系统性能的时候,与后面依赖服务没太大关系,因为我们现在只关注的是当前局部(我们自己的系统)的性能。
其次,它的承担职责是什么?
根据上述阐述,可以得出Mock Server如下任务:
- 根据不同请求进行相应应答
- 代理及模拟请求
- 造假数据,抹掉后端服务
最后,我们如何去实现?
我们想要测试被测系统的能力:例如,qps,性能等,我们可以采用下面两种方式:
- 直接模拟出其真实的服务,请求一次,然后缓存,后面直接读取即可。
为啥是请求一次,还要缓存?
因为当流量过大,真实服务能否承受的住是个问题,那么你的被测系统就根本没法测试了,所以需要模拟请求一次,拿到真实数据。
- 不请求真实服务,而是造出真实服务的数据,返回给被测系统,让其完成虚假代理。
以上便是我在实践中采用的方式,发现Mock 一下 ,全都OK, 期待大家留言,共同探讨与交流。
最近开了一个《C 那些事》交流群,欢迎在公众号右下角,联系我,拉你入群~