Serverless 是一种架构理念,具有自己的独特的优势和适用场景。本文以使用阿里云函数计算为例,构建一个简单具体的microservice为例,看看这种架构是如何达到快速开发和节约运维成本的。
应用场景1
某游戏公司刚开发完一个新的游戏,想要进行一些封闭测试,他们需要一个管理激活码的service来邀请有激活码的玩家来参与封闭测试,同时可能对积极参与封闭测试的玩家,等正式开服后,给予一定的礼包券码
应用场景2
某垂直领域的电商,刚刚起步,流量不是特别大,但发展势头不错。他们需要一个管理优惠码的service
针对上面所说的两个场景,无论是优惠码,激活码等相关码的管理,一般有如下四个:
- 生成码
- 使用码
- 验证码
- 删除码
传统方案
用户自己去架设服务器,配置数据库,再编写对应的服务,再配备相应的运维人员,总之,不管是硬件成本还是人力成本都不少。
serverless 方案
我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。
在本文中,我们运用阿里云API Gateway + 函数计算 + 表格存储(OTS),就能快速搭建这个服务,API Gateway 会自动 scale 去应对请求流量,同样函数计算也会根据流量自动 scale。开发方面,只需要实现好对应的逻辑函数即可。运维方面,省去了管理密匙、打安全补丁等工作,因为用户根本没有需要维护的机器。整个解决方案如下图:
从上图我们可以看出,主要有两个步骤:
- 函数计算作为 API 网关后端服务, 具体的教程可以参考官方教程和函数计算获取临时token
- 函数计算结合ots实现具体的逻辑,本文主要讲解这个过程, 并给出具体的代码。
具体步骤
1, 创建一个ots实例,并在实例中创建一张表;在本例中,是在华东2 region创建了code-ots
实例,并在该实例中创建了一张表code
, 主键是STRING类型