引言

(一)什么是Serverless

无服务器Serverless是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。云函数(Serverless Cloud Function,SCF)则是腾讯云提供的无服务器执行环境,可以在无需购买和管理服务器的情况下运行代码。

(二)什么是Mock Server

现在的业务系统很少有孤立存在的,它们或多或少需要使用或依赖其他服务,这给我们的联调和测试造成了麻烦。为了应对这种情况,我们常会搭建一个临时的server,模拟那些服务,提供模拟数据进行联调和测试。这个临时的server就是mock server。因此mock server通常具有以下特点:

  • 快速搭建、无需写代码
  • 能模拟任何数据
  • 低成本
  • 简单配置

也正是这些特点,均符合serverless的特点,因此我们使用serverless来做这件事情再合适不过了。接下来我们就用腾讯云的云函数为例,来讲解一下如何快速搭建Mock Server。

一、如何用云函数快速搭建Mock Server

目前市面上有很多Mock server工具,开源的不开源的都有。

这里就用Moco作为例子来教大家快速部署一个Mock Server。

Moco是一个开源框架,Github链接
:https://github.com/dreamhead/...

(一)准备工作

首先去Moco的github页面下载准备好的jar文件。

其次需要自己准备一个定义response的JSON文件,如下。里面的内容需要根据自己的业务去定义要返回的mock数据是什么。

[{"response" :{"text" : "Hello, Moco"}}
]

最后在云函数中运行需要一个启动文件,文件名必须是scf_bootstrap,内容如下:

#!/bin/bash
/var/lang/java8/bin/java -jar moco-runner-1.2.0-standalone.jar http -p 9000 -c foo.json

其中端口号必须是9000,JSON配置文件名如果不是foo.json则需要改成自己的文件名。

然后把这个三个文件打包成一个zip文件,如下图。

(二)部署Mock Server

打开云函数的控制台,新建一个云函数。如下图。

  • 选择自定义创建
  • 选择Web函数
  • 运行环境选择Java8
  • 在函数代码那里上传刚才打包好的zip文件

最后,点击完成即可。

然后,你到函数管理界面就可以看到访问路径了。如下图,向URL发送HTTP请求就能获得你在JSON文件中定义的response。

(三)一键部署

上面的方式是不是已经很快捷了。但是还有更快的,没错!mock server已经上架到云函数的官方模版中了。如下图,在模版中搜索mock就可以看到,一键就可以部署一个Mock server了。

注意:模版部署的mock server自带一个默认的response json文件,大家可以通过下载已部署的代码包,替换里面的json文件成自己的,然后重新部署。具体步骤可以参考模版源码中的readme。

二、用Serverless搭建Mock Server的优势

用Serverless搭建Mock Server具有下面几个优势:

(一)快速搭建

所有开发团队都希望只花极少的时间就能快速搭建一个Mock Server。因此使用Serverless不用关注和维护服务器,所以可以快速搭建运行一个mock server。

(二)极低成本

由于Mock server只用于测试,如果我们购买服务器来搭建,会增加不少金钱成本和维护成本。

而Serverless按量收费和免运维的特点,则可以既节约了金钱成本,又节约了维护成本。

通常我们调用Mock Server的次数都很少,而云函数是按调用次数收费的,每个月有10万次免费调用次数。所以使用云函数则可以免费薅羊毛。

(三)无需运维

我们不需要像管理服务器那样需要去配置端口、防火墙等。只需要上传mock server就结束了。

三、结语

Serverless还可以做很多类似的事情,因为它的高性能、自动伸缩、按量计费等特性,让它成为了很多解决方案中的性价比首选。

原文作者:腾讯云加社区

原文出处:https://segmentfault.com/a/1190000041312809

如何用Serverless搭建Mock Server?相关推荐

  1. 搭建Mock Server

    搭建Mock Server 1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 ...

  2. 搭建Mock Server实践(一)理论篇

    背景 在我司 S 产品测试时,日常工作有百分之 70 是需要跟接口测试打交道,搭建的 MockServer 有数十个. 接触过多个搭建 MockServer 平台,整理成文,分享之. 目录 part1 ...

  3. java mockserver搭建_搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

  4. 用 java 安装 mockserver_前端工程化-Mock Server:使用Node+json-server+mock.js搭建Mock Server...

    目的 为了便于前后端分离开发,前端在本地启动mock服务进行开发,后续对接联调时只需将接口地址改成真实地址即可. 一个优秀的mock server应具备以下功能: 随机数据生成,避免手动创建数据: 真 ...

  5. Postman搭建mock server接口

    在工作中,有时后端的接口还没有开发好,前端这时可以用postman的mock server来创建一个伪接口,访问这个伪接口来获得自己想要的响应. 在学习接口测试的过程中,也可以用postman的这个功 ...

  6. 1分钟搭建极简mock server

    摘自博客园:https://www.cnblogs.com/mikasama/p/9838480.html 1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果 ...

  7. java mockserver搭建_自动化测试基础设施(一)——为功能测试构建通用mock server系统...

    版本4(提供多种协议的支持) 估计有人在抱怨,说了这么多这个mock server还只能mock HTTP接口啊,我们的系统中存在HTTP接口,RPC接口,SMTP接口等等.这是mock server ...

  8. python接口测试实战_Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    课程目录 更多学习资料请加添加作者微信:superz-han获取 本节内容 REST及RESTful API Web Service XML解析 Mock Server REST及RESTful AP ...

  9. SAP UI5 应用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深入介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. tomcat 日志分割脚本
  2. python就业方向及工资-Python的就业的方向和前景
  3. ginkgo测试介绍
  4. ABAP--Smart Forms多语言翻译
  5. 美团点评联盟广告场景化定向排序机制
  6. 程序员你真的理解final关键字吗?
  7. pycharm中tensorflow代码不能自动补全或import红线问题解决
  8. Eclipse 工程迁移到 Android Studio
  9. 记一次去掉中间的某次merge代码
  10. itext 表格宽度自适应_微信公众号推文中如何自定义添加表格?
  11. RDkit:介绍smiles编码,smart编码及摩根指纹(ECFP)
  12. jsp内置对象 application
  13. libyuv 再次封装打包与测试
  14. Hello,programer! 我的第一篇博客
  15. HTML元素拖拽功能的实现
  16. 法拉克机器人自动怎么调_FANUC机器人程序自动启动介绍汇总.ppt
  17. CSS实现文字竖向排列
  18. WPA_Suppliant简介
  19. 弱网测试工具使用--web/pc/app
  20. 魅蓝5s的android系统版本,魅蓝5s有几个版本?魅蓝5s标准版和高配版详细区别对比评测...

热门文章

  1. 非常简单-Linux环境下(有公网IP)或虚拟主机的环境下如何做一个网站???
  2. plsql连接远程数据库时报ORA-01017:用户名、口令无效;登录被拒绝
  3. Roboware Studio下载、安装、及解决办法
  4. 制作AE(ArcGIS Engine 打包)开发的应用程序的安装包
  5. Unity 性能优化基础
  6. JBPM工作流引擎内核设计思想及构架
  7. 帝国CMS采集插件哪个好用?帝国CMS采集文章教程
  8. 用SQL语句操作Oracle数据库——数据更新
  9. MRPT学习(二)——Win10安装MRPT
  10. 基于SSM的小区物业管理系统JAVA【数据库设计、论文、源码、开题报告】