【译】Serverless架构 - 4

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 原文: https://martinfowler.com/articles/serverless.html状态当使用本地(机器/实例绑定)状态时FaaS函数有很严格的限制。

原文:

https://martinfowler.com/articles/serverless.html

状态

当使用本地(机器/实例绑定)状态时FaaS函数有很严格的限制。简单说,你应该假设对于任何函数调用,你创建的进程内或主机状态都不会对后续任何调用生效。这状态包括内存和要写入到本地磁盘的。换句话说从部署单元的角度看FaaS函数是无状态的。

这对应用架构有极大影响,尽管不是唯一的因素 - ‘12因子应用’概念有同样的限制 http://12factor.net/processes

这个限制有什么可以代替的?正常来说表示要么FaaS函数是天生无状态 - 他们对输入提供纯函数变换 - 要么他们使用数据库, 跨应用缓存(如Redis),或网络文件存储(如S3)将跨请求的状态存储起来以备后续的处理请求时需要用来做输入。

执行周期

FaaS函数通常受限于每次调用可以允许运行的时间。目前AWS Lambda函数不允许运行超过5分钟,如果超过会被终止。

这意味着某些长执行周期的类如果不进行重构是不适合在FaaS函数中运行的,比如你可能需要创建很多不同的FaaS函数协调器,在传统环境中你可能只有一个有一个长周期的任务同时做协调和执行。

启动延迟

目前你的FaaS函数需要多长时间响应请求取决于很多因素,可能会在10ms到2分钟。这听起来很糟,但让我们具体点,用AWS Lambda作为例子。

如果你的函数不大(少于一千行代码)并用Javascript或Python实现,那么运行的开销应该不会超过10-100ms。更大的函数可能会要更长的时间。

如果你的函数使用JVM上的实现当JVM启动时你可能偶尔会看到较长的响应(大于10秒)。但是这只会发生在以下场景:

  • 你的函数进程不经常处理时间,调用的时间间隔大于10分钟。
  • 你的流量出现高峰,比如正常你每秒处理10个请求但突然在10秒内每秒100个请求出现。

这些情况可以用比较丑陋的技巧 - 每5分钟ping以下你的函数保证它的存活来解决。

这些问题是否值得关注?这取决于你应用的流量图形。我的前团队有一个用Java实现的Lambda用来处理亿级异步消息/天,他们不关心启动延迟。这说明如果你要写一个低延迟的交易引用你肯定不会想使用FaaS系统,无论你用什么语言实现。

无论你觉得你的应用是不是有这个问题,你应该用生产环境的负载来测试实际性能。如果你的case现在还不行,你可以在几个月后再测试一下,因为这是FaaS供应商的主要开发领域。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
5月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
152 0
|
5月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
483 69
|
4月前
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
100 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
332 12
|
7月前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
6月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
117 0
|
8月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
141 10
|
8月前
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。
|
9月前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
9月前
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!

热门文章

最新文章

相关产品

  • 函数计算