什么是功能即服务(FaaS)?

article/2025/9/5 17:59:39

功能即服务(或称为 FaaS)是一种云计算服务,它允许开发人员以功能的形式来构建、计算、运行和管理这些应用包,无需维护自己的基础架构。

FaaS 是一种在无状态容器中运行的事件驱动型执行模型,这些功能将利用 FaaS 提供商的服务来管理服务器端逻辑和状态。

FaaS 解决方案可通过主流公共云提供,并可在内部置备,这样就为企业 IT 应用开发新增了一些重要的功能。获取云原生策略指南,为借助 FaaS 实施无服务器方案做好准备。FaaS 的一些常见示例:

  • IBM 云功能

  • Amazon 的 AWS Lambda

  • Google 云功能

  • Microsoft Azure 功能(开源)

  • OpenFaaS(开源)

FaaS和无服务器

FaaS 是一种实现无服务器计算的方法,藉此开发人员可以编写业务逻辑,然后在完全由平台管理的 Linux 容器中执行这些业务逻辑。

虽然通常只是一个使用云计算服务的云计算平台,但该模型还在扩展中,包含内部部署和混合部署。

无服务器会对基础架构问题进行抽象处理,例如管理或置备服务器及开发人员的资源分配,并将其提供给平台(如红帽OpenShift),这样开发人员就可以专注于编写代码和实现业务价值。

功能是操作系统上的一个运行业务逻辑的软件。应用可以由许多功能组成。

使用 FaaS 模型是通过无服务器架构来构建应用的方法之一,但随着无服务器模式的日渐普及,开发人员正在寻找支持构建无服务器微服务和无状态容器的解决方案。

功能即服务是如何工作的?

FaaS 为开发人员提供了一种运行 Web 应用的抽象方式,可以在无需管理服务器的情况下响应事件。例如,上载文件可触发自定义代码,从而将文件转码为各种格式。

FaaS 基础架构通常是由服务提供商按需计量的,主要通过事件驱动型执行模型进行,因此它会随时待命,但不需要任何服务器进程在后台持续运行(这一点与平台即服务 (PaaS)不同)。 

现代 PaaS 解决方案提供了无服务器功能(作为通用工作流的一部分),藉此开发人员可以实现应用的部署,从而模糊了 PaaS 和 FaaS 之间的界线。 

实际上,整个应用将由以下解决方案混合而成:功能、微服务和长期运行的服务

FaaS动态扩展

提供商会通过应用编程接口(API)让您的功能处于可用状态并管理资源分配。由于功能是事件驱动而不是资源驱动的,因此它们很容易进行扩展,这种扩展允许提高效率和价值。

为了发挥部分优势,其体系架构会受到一定制约(例如对功能执行施加时间限制),因此需要做到功能的快速启动和运行。

功能会在毫秒内启动并处理各个请求。如果您的功能有多个同步请求,系统将创建尽可能多的功能副本来满足需求。

当需求下降时,应用会自动减少功能副本的数量。动态扩展是 FaaS 的一项优势,而且颇具成本效益,因为提供商仅对使用的资源收费,而不对空闲时间收费。

在内部运行时,这种动态特性还可以提高平台密度,从而允许运行更多工作负载并优化资源消耗和功能。

需要横向扩展的事件驱动型服务可作为功能和 RESTful 应用进行工作。 

FaaS 非常适合大数据量的交易、经常发生的工作负载,例如报表生成、图像处理或任何计划任务。常见的 FaaS 用例包括数据处理、IoT 服务、移动和 Web 应用。

您可以使用 FaaS 构建完全无服务器化的应用,也可以打造部分无服务器、部分传统微服务组件的应 用 ,以便利用更新的技术和容器编排系统,如 Kubernetes。

FaaS的优势

  • 提高开发人员的生产率并缩短开发时间

  • 不负责服务器管理

  • 易于扩展,且横向扩展由平台管理

  • 仅在必要和需要时消耗资源或支付费用

  • 几乎可以用任何编程语言来编写功能

FaaS 和无服务器之间有何区别?

最初,FaaS 和无服务器多多少少具有一定的相似性,但现在,无服务器的含意已扩展至更多的体系架构模式和实践,除了以 FaaS 编码的自定义业务逻辑外,它们还大量使用了通用服务。

微服务甚至传统应用都可以使用无服务器,只要它们可以容器化并且符合动态扩展和状态管理的要求即可。 

"无服务器"一词也用于表示托管服务(例如数据库和消息传递系统)- 由于系统由云提供商或第三方公司管理,因此无需开发人员或管理员来操作系统。 

FaaS 与主要通过事件驱动型体系架构连接的通用后端服务(如数据库、消息传递和身份验证)相结合,可为无服务器开发人员带来最大的收益。

下载链接:

云原生安全技术报告

容器应用之旅(红帽)

5G边缘计算安全白皮书

数据安全白皮书

中国PaaS市场研究报告(2021)

中国SaaS市场研究报告(2021)

云计算研究报告

中国云计算行业研究报告

云计算标准化白皮书

云计算白皮书

中国云计算产业发展白皮书

中国边缘云计算行业展望报告

混合云白皮书

青云超级混合云白皮书

2021混合云架构的普及改变IT生态

灵云混合多云管理平台白皮书

京东云:私有云和混合云白皮书

本号资料全部上传至知识星球,加入全栈云技术知识星球下载全部资料。

 


http://chatgpt.dhexx.cn/article/x7y9ycek.shtml

相关文章

计算机预览不到桌面,电脑文件夹的文件预览显示没有预览怎么办?

有可能是更改了查看方式造成的。解决的方法很简单: 打开存放照片的文件夹,在空白处点击右键,可以看到弹出的对话框中总共有9个选项,分别是:超大图标、大图标、中等图标、小图标、列表、详细信息、平铺、内容和隐藏文件…

KKFileView(十一)——文件预览

2021SCSDUSC 上篇文章提到文件预览工厂以及实现具体文件预览功能的类,这篇报告着重于各个文件预览流程 一、文本文件预览 之前的报告中有提到DownloadUtils工具类,该类通过输入文件描述和文件名得到文件的真实路径,如果失败的话也会返回信息…

基于开源项目kkFileView打造文件预览

1、需求 一般管理系统都有文件上传功能,基于此一般会诞生一个需求:用户需要在线预览自己上传的文件。需求很合理,但是没那么好做,原因在于浏览器默认支持图片、pdf等少量格式预览,而实际情况是你并不能要求用户只上传…

nginx配置简单文件预览

1.目的 预览图片、pdf、txt 2.配置 #搭建文件预览 server { listen 8888; server_name preview.xxx.com; location ^~ /preview/ { alias D:/data/; #不同OS键入对应path即可 if ($request_filename ~* ^.*?\.(html|doc|…

React封装文件预览组件

封装文件预览组件的时候,预览的文件地址要么是本地文件地址或者是接口返回的文件地址。 这里需要引入两个第三方库,分别是react-file-viewer和react-pdf-js。 其中react-file-viewer可以支持的文件: 虽然它能预览PDF格式的文件,但是为了方便对PDF格式文件预览的控制,比…

vue实现文件预览

1、可以预览图片、文档、视频等,视频需要安装视频预览插件:cnpm install --save video.js 2、代码: <!-- @format --><template><div><!--图片--><div v-if="imgShow"><img :src="downloadUrl" /></div>&l…

如何在vue中实现文件预览功能

文件流 如何将各种文件的文件流(blob)转化为线上可以直接预览的数据&#xff0c;这里简单介绍四种不同类型的文件预览。分别是pdf&#xff0c;docx&#xff0c;xlsx&#xff0c;jpg/png/jpeg等。有一个事情是需要重点注意的&#xff0c;文件流必须保证能够被正常下载解析后才可…

uniAPP手机端文件预览

前言 最近基于uniAPP的app遇到了个需求&#xff0c;需要文件预览。其实官方已经提供了这个解决方案 uni.downloadFile(OBJECT) uni.openDocument(OBJECT) 基于上面这两个API可以实现文件预览。本质上是先将文件下载到本地&#xff0c;然后调用手机内的其他app来打开你要预览…

文件预览:Markdown文件预览

文件预览系列&#xff1a; mavon-editor预览Markdown文件 xlsx预览excel文件 一、安装插件&#xff1a;mavon-editor npm i mavon-editor --save 二、在主文件中引入&#xff0c;并注册 import mavonEditor from mavon-editor; import mavon-editor/dist/css/index.css; /…

kkFileView安装及使用——文件预览解决方案

目录 一、前言二、kkFileView介绍三、kkFileView安装四、kkFileView的配置和使用 一、前言 网页端一般会遇到各种文件&#xff0c;比如&#xff1a;txt、doc、docx、pdf、xml、xls、xlsx、ppt、pptx、zip、png、jpg等等。 有时候我们不想要把文件下载下来&#xff0c;而是想在…

基于若依前后端分离版(Springboot+Vue)的文件预览

主要介绍两种方式实现文件预览的方式&#xff0c;一种是通过前端插件匹配不同的文件&#xff0c;另一种就是使用已经完善的文件预览系统。我更推荐使用第二种方式&#xff0c;因为这样会少去很多工作量。本文主要介绍第一种方式&#xff0c;第二种方式会出现在另外一篇文章中。…

Java中如何实现文件预览的功能

文件预览方法总结 前言一、kkfileview 文件在线预览二、officetohtml纯前端的方式三、JODConverter四、Aspose总结 前言 日常开发中常见的文件格式有pdf&#xff0c;word&#xff0c;Excel&#xff0c;PPT&#xff0c;Html&#xff0c;txt&#xff0c;图片等。pdf&#xff0c;…

前端技术实现文件预览(word、excel、pdf、ppt、mp4、图片、文本)

前言 因为业务需要&#xff0c;很多文件需要在前端实现预览&#xff0c;今天就来了解一下吧。 Demo地址[1]&#xff1a;https://zhuye1993.github.io/file-view/dist/index.html 实现方案 找了网上的实现方案&#xff0c;效果看起来不错&#xff0c;放在下面的表格里&#xff0…

localStorage怎样存取数据 怎样清除localStorage存储的数据

localStorage很多时候用来存储数据非常好&#xff0c;方便在页面中使用某些数据的时候调用 首先&#xff0c;通过setItem(key,value)即可存储数据 然后用getItem(key)的方式即可取得数据 可以看到&#xff0c;设置之后在浏览器的localStorage中看到存储的数据 使用localStoage…

Android App清除数据的方案

前言 最近MIUI13上出了个未经应用商店安装&#xff0c;算是未知来源。AndroidID&#xff0c;通知&#xff0c;网络权限没授权则默认关闭。 安装app时允许虚拟身份ID&#xff1a; 允许允许虚拟身份ID前获取一次AndroidId&#xff1a; attachBaseContext获取AndroidId, 此时还没…

kafka清理数据

由于项目原因&#xff0c;最近经常碰到Kafka消息队列拥堵的情况。碰到这种情况为了不影响在线系统的正常使用&#xff0c;需要大家手动的清理Kafka Log。但是清理Kafka Log又不能单纯的去删除中间环节产生的日志&#xff0c;中间关联的很多东西需要手动同时去清理&#xff0c;否…

Kafka数据清理

目录 kafka数据清理日志删除&#xff08;Log Deletion&#xff09;1. 基于时间的保留策略2. 基于日志大小的保留策略3. 基于日志起始偏移量保留策略 日志压缩&#xff08;Log Compaction&#xff09; 原文地址&#xff1a;https://program-park.github.io/2021/09/18/kafka_11/…

mysql数据库要定期清除吗_数据库mysql定时清除数据

数据库mysql定时清除数据 数据库mysql定时清除数据 https://www.jiangweishan.com/article/2384238490809808.html 作者&#xff1a;andy0012019.11.22来源&#xff1a;Web前端之家浏览&#xff1a;2081评论:0 关键词&#xff1a;jsmysql 一个项目如果规划不合理&#xff0c;每…

SDN是什么,与传统分布式网络有什么区别

传统的的分布式网络 分布式网络也叫网状网络&#xff0c;它是由分布在不同地点的计算机系统互连而成&#xff0c;网中无中心节点。通信子网是封闭式结构&#xff0c;通信控制功能分布在各节点上。 分布式网络的特点是&#xff1a;可靠性高&#xff1b;网内节点共享资源容易&am…

软件定义网络(SDN)

SDN基本概述 参考文章&#xff1a;SDN基本概述、解读SDN的东西、南北向接口 传统网络数据控制与转发 传统网络是分布式控制的架构&#xff0c;每台设备都包含独立的控制平面&#xff0c;数据平面。 传统网络是分布式控制的架构&#xff1a; 这里的分布式控制指在传统IP网络…