当前位置: 首页 > news >正文

无服务器架构Serverless

一、概念

Serverless的全称是Serverless computing无服务器运算,随着云原生技术的不断发展,应用的部署模式逐渐趋向于“业务逻辑实现与基础设施分离”的设计原则,而Serverless作为一种新的云计算模式,较好地履行了上述设计原则。

Serverless可在不考虑服务器的情况下构建并运行应用程序和服务,它使开发者避免了基础设施管理,如集群配置、漏洞修补、系统维护等。Serverless并非字面理解的不需要服务器,只是服务器均交由第三方管理。

Serverless目前依然处在探索和发展阶段。

二、实现方式

Serverless通常可分为两种实现方式,即BaaS(Backend as a Service,后端即服务)和FaaS(Functions as a Service,函数即服务),其中FaaS是Serverless的主要实现方式。简而言之,FaaS即开发者编写一段代码,并定义何时以及如何调用该函数,随后该函数在云厂商提供的服务端运行,在此过程中开发者只需编写并维护一段功能代码。

此外,FaaS本质上是一种事件驱动并由消息触发的服务,事件类型可能是一个HTTP请求,也可能是一次上传或保存操作,事件源与函数的关系如图所示。

在这里插入图片描述

FaaS的典型代表为AWS Lambda,为便于理解,下述为一个简单的Lambda Python处理函数:

import json

def lambda_handler(event, context):
return {
	'statusCode': 200,
	'body': json.dumps('Hello from Lambda!')
}

可以看出,以上代码导入了JSON Python库并定义了一个lambda_handler函数,该函数需接收两个参数,分别为event和context,其中event参数包含此函数收到的事件源信息,参数类型通常是Python的dict类型,也可以是list、str、int、float等类型,而context参数包含此函数相关的运行时上下文信息。

在这里插入图片描述

上图大致展示了传统的服务端应用部署和FaaS应用部署,当应用程序部署在物理机、虚拟机、容器中时,它实际上是一个应用进程,并且由许多不同的函数构成,这些函数之间有着相互关联的操作,一般需要长时间在操作系统中运行;而FaaS通过抽离虚拟机实例、操作系统和应用程序进程改变了传统的部署模式,使开发者只需关注单个函数操作,剩余基础设施管理均由第三方托管平台提供,当有事件触发时函数被执行,开发者为使用的资源付费。

相关文章:

  • 基金培训网站/seo在线短视频发布页
  • 精选网站建设/百度知道合伙人答题兼职
  • 冠县做网站哪里好/百度seo软件是做什么的
  • 服务器网站建设流程图/株洲百度seo
  • wordpress 登录后可看/网络公司seo教程
  • 娄底网站建设最专业/百度竞价排名平台
  • 我的2022
  • java springboot 项目构建报错解决办法
  • Laravel文档阅读笔记-How to Build a Rest API with Laravel: A Beginners Guide①
  • M320、M601、HD1(RTU)功能对比
  • 使用Anaconda(3-5.1.0对应 python3.6.3)搭建OpenCV(3.5.1.15)环境和Jupyter Notebook
  • 系统分析师案例必备知识点汇总---2023系列文章三
  • Retrofit源码分析实践(一)【从使用入手分析源码】
  • mysql快速生成100W条测试数据(8)全球各城市人口及经济增长速度并存入mysql数据库
  • Python数学建模问题总结(3)数据可视化Cookbook指南·下
  • [319]. 灯泡开关
  • 阿维塔冲击年10万台订单,第二款车型Q2发布
  • 华为机试题:HJ9 提取不重复的整数(python)