云原生——Serverless

Serverless是一种后端架构,开发者无需关注服务器管理,由云平台负责资源调度。它主要由FaaS(函数即服务)和BaaS(后端即服务)组成。FaaS在事件触发时运行函数,执行过程包括代码下载、容器启动、环境初始化和代码运行。缺点包括对云平台的依赖、调试困难及硬件不确定性。冷启动和热启动是其运行机制的关键,其中热启动能提高效率,但长时间无请求会进入冷启动状态。
摘要由CSDN通过智能技术生成

Serverless

当流量洪峰来临时,自动扩充服务器,当流量低谷来临时,自动回收服务器。

基本概念

广义上:后端架构的理念,开发者不再关心服务器,将服务器的一切交给云平台开发,与服务器有关的一切都不再关心。
狭义上:Severless架构应该是采用Faas(函数即服务)和BaaS(后端即服务)服务来解决问题的一种设计。
Serverless = FaaS + BaaS
在这里插入图片描述
FaaS:专门负责运行逻辑的地方,函数运行平台(可以支持Node.js php等语言),FaaS产品会负责服务器资源的调度和管理。通过事件触发才调用。——负责计算
BaaS:根基函数运行需要的资源量自动调用资源。——负责存储

Serverless的缺点

1.严重依赖云平台厂商(不同厂商有不同的标准)
2.开发调试困难
3.底层硬件不确定性

FaaS运行机制

FaaS平台中函数默认是不运行,也不会分配任何的资源,甚至不保存函数代码,只有当FaaS接收到触发器的事件之后,才会启动并运行函数,整个函数的运行分为4个步骤。
在这里插入图片描述

  1. FaaS平台平身不会存储代码,而是将函数放在对象存储中,需要执行函数的时候,再从对象存储中将函数对象下载,并且解压,因此FaaS平台会对代码大小有一个限制,通常为50M。
  2. 代码下载完成后FaaS会根据函数的配置,启动对应的容器,FaaS会使用容器进行资源隔离。
  3. 然后初始化运行环境,分析代码的依赖,执行用户初始化的逻辑等等。
  4. 最后进行代码的运行。

第一次启动为冷启动阶段。函数运行完毕后运行环境会保留一段时间,在这段时间函数需要再次的执行FaaS会用上一次的运行环境,这就是所谓的执行上下文重用,也就是执行实例复用,这一次重用称之为热启动。当一段时间内没有函数请求时,函数就会被释放直到下一次时间的到来,再重新从冷启动开始进行,函数第一次执行时经过完整的4个阶段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值