乐趣区

关于serverless:如何用Serverless搭建Mock-server

前言

什么是 Serverless

无服务器 Serverless 是一种云原生开发模型,可使开发人员专一构建和运行利用,而无需治理服务器。

云函数(Serverless Cloud Function,SCF)则是腾讯云提供的无服务器执行环境,能够在无需购买和治理服务器的状况下运行代码。

什么是 Mock Server

当初的业务零碎很少有孤立存在的,它们或多或少须要应用或依赖其余服务,这给咱们的联调和测试造成了麻烦。

为了应答这种状况,咱们常会搭建一个长期的 server,模仿那些服务,提供模仿数据进行联调和测试。

这个长期的 server 就是 mock server。

因而 mock server 通常具备以下特点:

  1. 疾速搭建、无需写代码
  2. 能模仿任何数据
  3. 低成本
  4. 简略配置

也正是这些特点,均合乎 serverless 的特点,因而咱们应用 serverless 来做这件事件再适合不过了。

接下来咱们就用腾讯云的云函数为例,来解说一下如何疾速搭建 Mock Server。

如何用云函数疾速搭建 Mock Server

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

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

Moco 是一个开源框架,这是它的 Github 链接。

筹备工作

首先去 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 了。

用 Serverless 搭建 Mock Server 的劣势

用 Serverless 搭建 Mock Server 具备上面几个劣势。

疾速搭建

所有开发团队都心愿只花极少的工夫就能疾速搭建一个 Mock Server。

因而应用 Serverless 不必关注和保护服务器,所以能够疾速搭建运行一个 mock server。

极低成本

因为 Mock server 只用于测试,如果咱们购买服务器来搭建,会减少不少金钱老本和保护老本。

而 Serverless 按量免费和免运维的特点,则能够既节约了金钱老本,又节约了保护老本。

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

无需运维

咱们不须要像治理服务器那样须要去配置端口、防火墙等。

只须要上传 mock server 就完结了。

最初

Serverless 还能够做很多相似的事件,因为它的高性能、主动伸缩、按量计费等个性,让它成为了很多解决方案中的性价比首选。

将来我会持续摸索 serverless 的更多实用的场景与大家分享。

退出移动版