一、Serverless 架构详解
- 1.1 什么是 serverless
- 1.2 Serverless 要解决什么?
- 1.3 Serverless 做什么事?
- 1.4 Serverless 和函数计算的区别
- 1.5 Serverless 的技术特点
- 1.6 传统服务器架构 VS Serverless 架构
- 1.7 使用 serverless 优缺点
- 1.8 如何理解理解 Serverless 技术—FaaS 和 BaaS
- 1.9 Serverless 计算如何工作?
二、微信小程序云开发
- 2.0 FAAS 冷启动
- 2.1 FAAS 分层
- 2.2 后端应用 BaaS 化
- 2.3 Serverless 使用场景
- 2.4 serverless 的厂家
- 2.1 小程序传统开发模式
- 2.2 云开发正在改变小程序的开发模式
- 2.3 小程序云函数计费
- 2.4 小程序云开发项目的创建与配置
- 2.5 小程序云函数场景
- 2.6 云数据库
- 2.7 小程序云函数调试
- 2.8 小程序云开发部署管理后台演示-触发云函数的运用
三、不同厂商的 serverless 部署演示
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.8 如何理解理解 Serverless 技术—FaaS 和 BaaS
Serverless 由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录。Serverless 涵盖了很多技术,分为两类:FaaS 和 BaaS。
FaaS(Function as a Service,函数即服务)
- FaaS 意在无须自行管理服务器系统或自己的服务器应用程序,即可直接运行后端代码。其中所指的服务器应用程序,是该技术与容器和 PaaS(平台即服务)等其他现代化架构最大的差异。
- FaaS 可以取代一些服务处理服务器(可能是物理计算机,但绝对需要运行某种应用程序),这样不仅不需要自行供应服务器,也不需要全时运行应用程序。
- FaaS 产品不要求必须使用特定框架或库进行开发。在语言和环境方面,FaaS 函数就是常规的应用程序。例如 AWS Lambda 的函数可以通过 Javascript、Python 以及任何 JVM 语言(Java、Clojure、Scala)等实现。然而 Lambda 函数也可以执行任何捆绑有所需部署构件的进程,因此可以使用任何语言,只要能编译为 Unix 进程即可。FaaS 函数在架构方面确实存在一定的局限,尤其是在状态和执行时间方面。
- 迁往 FaaS 的过程中,唯一需要修改的代码是“主方法/启动”代码,其中可能需要删除顶级消息处理程序的相关代码(“消息监听器接口”的实现),但这可能只需要更改方法签名即可。在 FaaS 的世界中,代码的其余所有部分(例如向数据库执行写入的代码)无须任何变化。
相比传统系统,部署方法会有较大变化 – 将代码上传至 FaaS 供应商,其他事情均可由供应商完成。目前这种方式通常意味着需要上传代码的全新定义(例如上传 zip 或 JAR 文件),随后调用一个专有 API 发起更新过程。
FaaS 中的函数可以通过供应商定义的事件类型触发。对于亚马逊 AWS,此类触发事件可以包括 S3(文件)更新、时间(计划任务),以及加入消息总线的消息(例如 Kinesis)。通常你的函数需要通过参数指定自己需要绑定到的事件源。
大部分供应商还允许函数作为对传入 Http 请求的响应来触发,通常这类请求来自某种该类型的 API 网关(例如 AWS API 网关、Webtask)
BaaS(Backend as a Service,后端即服务)
BaaS(Backend as a Service,后端即服务)是指我们不再编写或管理所有服务端组件,可以使用领域通用的远程组件(而不是进程内的库)来提供服务
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论