教你 4 步搭建弹性可扩展的 WebAPI

简介: 本文整理自《Serverless 技术公开课》,关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。

头图.jpg

作者 | 萧起 阿里云云原生团队

本文整理自《Serverless 技术公开课》,关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。

导读:本节课程主要分为三个部分,基本概念中介绍基于函数计算的 WebAPI 与普通的 WebAPI 的区别及优势;开发流程中介绍如何在函数计算的控制台进行 WebAPI 的开发;操作演示中会实例演示函数计算 WebAPI 的开发过程。

基本概念

1.PNG

常见的 WebAPI 架构如上图所示,主要包括客户端(浏览器)、服务器、数据库,WebAPI 由服务器提供,同时服务器要完成负载均衡、登录鉴权的相关操作。

当客户端流量快速增大时,服务器端只能通过水平扩展加机器的方式来增加提高服务能力。

这种常规模式主要有两点局限性:

  • 技术同学除了开发业务代码,有大量的服务器运维成本,来保证服务的稳定性、可用性,技术同学要花费很多时间进行运维工作,占用开发时间,降低项目研发效率。
  • 流量突然增加时,需要水平扩展加机器,弹性的响应能力差,扩容速度往往要数十分钟,无法实现秒级极速扩容,导致一段时间内的服务能力不足。同时当流量变少时,难以做到及时缩容,造成机器的成本浪费。

2.PNG

基于函数计算的 WebAPI 架构如上图所示,与常规的 WebAPI 架构相比,客户端和数据库未发生变化,但服务器变化巨大,主要体现在:

  • 之前需要开发团队维护的路由模块以及鉴权模块都将接入服务商提供的 API 网关系统以及鉴权系统,开发团队无须再维护这两部分的业务代码,只需要持续维护相关规则即可。
  • 在这个结构下,业务代码也被拆分成了函数粒度,不同函数表示不同的功能。
  • 我们已经看不到服务器的存在,是因为 Serverless 的目的是让使用者只关注自己的业务逻辑即可,所以一部分安全问题、资源调度问题(例如用户量暴增、如何实现自动扩容等)全都交给云厂商负责。
  • 相对于传统项目而言,传统项目无论是否有用户访问,服务都在运行中,都是有成本支出,而 Serverless 而言,只有在用去发起请求时,函数才会被激活并执行,且会按量收费,可以实现在有流量的时候才有支持,没有流量的时候就没有支出,相对来说,成本会进一步降低。

开发流程

1. 登录函数计算控制台,创建应用

3.png

可以通过两种方式来创建应用,如果是已有的 Web 项目,可以选择上图中的第一种方式:“常见 Web 应用”;对于新项目则推荐使用第二种方式:“基于模板创建应用”。我们这里使用模板方式,选择基于 Python 的 Web 应用。

模板可以当做应用脚手架,选择适合的模板,可以自动完成相关依赖资源的创建,如角色、OSS、域名网关等,降低开发成本。

2. 新建函数

4.png

在应用下,创建函数,我们是开发 WebAPI,所以选择“HTTP”函数,这种函数会将指定的 http 请求作为触发器,来调度对应函数的执行。

函数新建好之后,是个返回 helloWorld 的 demo,我们在此基础上来开发我们的业务逻辑。

5.png

首先介绍下上图代码中的 handler 函数,这个函数是入口函数,http 触发器接收到调用后会通过这个入口来启动整个函数。函数有两个入参,environ 和 start_response:

  • environ

environ 中主要包含两部分内容:http 请求的入参和函数执行上下文 fcContext,函数上下文参数中包含一些函数运行时的信息(例如 request id 、 临时 AK ),您在代码中可以使用这些信息。信息类型是 FCContext。

  • start_response

该参数主要用于生成 http 请求的 response。

3. 配置触发器,绑定域名

6.png

在新建函数时会自动创建一个 http 触发器,这个触发器的路径是“aliyun.com”的一个测试路径,只能用于测试,真实的应用需要通过自定义域名将真实域名与函数绑定,这样访问指定域名时,对应函数就会被触发执行。

4. 日志与监控

在每个函数编辑页面,日志和监控服务,函数的每次执行都会生成唯一的 requestId,日志中通过 requestId 进行查询,看到本次函数执行的所有日志。

7.png

 

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从 0 到 1,高德 Serverless 平台建设及实践

来源 | Serverless作者 | 邓学祥头图 | 下载于东方IC导读:高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级,平台从 0 到 1,qps 从零到十万,成为阿里集团…

看动画学算法之:排序-快速排序

简介: 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一…

思考、创新、坚持——阿里做了七年前端,我的成长经验分享

在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长…

存储进阶:怎么才能保证 IO 数据的安全?

来源 | 奇伢云存储头图 | 下载于视觉中国写成功了数据就安全了吗?思考一个问题:写数据做到什么程度才叫安全了?就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电&#x…

设计稿生成代码与 Serverless 的前世今生与未来!

简介: 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书! 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证…

ARMS在APM工具选型中的实践

简介: 当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外…

无人机、IoT 设备都有漏洞?专访以色列老牌安全公司 Check Point|拟合

从无序中寻找踪迹,从眼前事探索未来。 2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

从零入门 Serverless | 函数计算的可观测性

简介: 本文主要分为三个部分:概述中介绍可观测性的基本概念,主要包括 Logging、Metrics、Tracing 三个方面;然后详细介绍函数计算上的 Logging、Metrics、Tracing;最后以几个常见场景为例,介绍在函数计算中…

宜家:打造新零售时代的智能客户身份管理系统

简介: 宜家选择了阿里云应用身份服务(IDaaS)来为其提供一个包括统一认证、统一账户管理的CIAM解决方案,为所有前端提供统一的安全、可扩展和可靠的身份认证服务,包括灵活的认证配置、单点登录、多因素认证、社交平台登…

生意参谋牵手Quick BI 让数据再次驱动店铺经营

刚刚过去的一周,超两百家店铺体验了阿里巴巴官方全渠道、全链路、一站式数据平台生意参谋推出的全新功能,自助分析。 作为生意参谋联合Quick BI的初次尝试, “自助分析”面向店铺提供自助分析解决方案,支持店铺个性化数据报表制作…

到底是谁发明了物联网?

来源 | 鲜枣课堂作者 | 小枣君头图 | 下载于视觉中国1965年的越南战场,美军正深陷战争泥潭。突然有一天,北越士兵在胡志明小道发现了一些奇怪的东西。这些东西看上去像树枝,但实际上由金属构成,里面包含一些神秘的电子元件。这些士…

八种经典排序算法总结

前言 算法和数据结构是一个程序员的内功,所以经常在一些笔试中都会要求手写一些简单的排序算法,以此考验面试者的编程水平。下面我就简单介绍八种常见的排序算法,一起学习一下。 一、冒泡排序 思路: 比较相邻的元素。如果第一…

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_部署01

文章目录1. 创建onlyoffice容器2. 启动在线案例3. 开放防火墙4. 浏览器验证5. 上传文件测试6. 在线编辑7. 测试主页面1. 创建onlyoffice容器 下面命令作用:拉取镜像、映射宿主机端口和docker内部端口、创建宿主机和docker容器挂载目录、拉取指定版本的onlyoffice/d…

漫画 | 程 序 员 脱 单 指 南

本文纯属娱乐,切勿模仿,模仿后果难以评估,务必小心再小心,谢谢!

基于JindoFS+OSS构建高效数据湖

为什么要构建数据湖 大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于…

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_添加中文字体和中文字号_02

文章目录一、 onlyoffice添加中文字体1. 下载字体2. 上传字体3. 删除原版自带字体4. 字体复制5. 安装字体6. 重启容器7. 清除缓存8. 效果验证二、 onlyoffice添加中文中文字号2.1. 拷贝配置文件2.2. 编辑配置2.3. 上传配置2.4. 配置覆盖2.5. 重启容器2.6. 效果验证一、 onlyoff…

重磅报告 | 《中国企业2020:人工智能应用实践与趋势》

文章导读 AI设计师“鹿班”每秒可设计海报8000张,赋能30万商家备战“双十一”;光伏电池生产商天合光能运用人工智能算法将A品率提升7%,创造利润数千万;AI帮助优酷分析舆情选出爆款影视剧IP,打造了10天播放量超过60亿的…

OnlyOffice 修改文件大小限制

文章目录1. 拷贝配置到宿主机2. 配置调整3. 配置覆盖4. 容器重启5. 启动案例测试6. 查看日志1. 拷贝配置到宿主机 docker cp 58f75f6ca6f7:/etc/onlyoffice/documentserver/default.json ./2. 配置调整 vim default.json默认下载大小"maxDownloadBytes": 104857600,…

启明星辰集团:文化筑底,战略引领信息安全之路

4月30日,“启明星辰集团年度业绩说明与战略发布会”在上海成功举办,启明星辰集团总裁严立、集团CFO张媛、集团董秘姜朋出席会议,为投资者、用户、媒体解读企业未来战略布局,就行业状况、生产经营、财务状况进行说明,探…

【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度

简介: JindoFS提供了一个计算侧的分布式缓存系统,可以有效利用计算集群上的本地存储资源(磁盘或者内存)缓存OSS上的热数据,从而减少对OSS上数据的反复拉取,消耗网络带宽。 背景介绍 近些年,机…