扩展速度提高了12倍!AWS Lambda 函数重大改进!

Marcia 是 Amazon Web Services 的首席开发倡导者,在软件行业构建和扩展应用程序方面拥有20年的工作经验。她热衷于设计能够充分利用云并拥抱DevOps文化的系统。最近她发表了一篇博文,带来了一个AWS Lambda重大改进:扩展速度提升了 12 倍!

1、Lambda函数更新,扩展速度倍增

现在,AWS Lambda 的扩展速度提高了 12 倍。每个同步调用的 Lambda 函数现在每 10 秒扩展 1000 个并发执行,直到所有函数的聚合并发达到账户的并发限制。此外,帐户中的每个功能现在都可以彼此独立地扩展,无论这些功能是如何调用的。这些改进无需额外成本,并且无需在现有功能中进行任何配置。

图片

图片

使用传统架构构建可扩展且高性能的应用程序可能具有挑战性,通常需要过度配置计算资源或复杂的缓存解决方案来满足峰值需求和不可预测的流量。许多开发人员选择 Lambda 是因为当应用程序面临不可预测的流量时,它可以按需扩展。

在此更新之前,Lambda 函数最初可以在第一分钟内在账户级别扩展 500-3,000 个并发执行(取决于区域),然后每分钟扩展 500 个并发执行,直到达到账户的并发限制。

由于此扩展限制由同一账户和区域中的所有功能共享,因此如果某个功能遇到流量涌入,可能会影响同一账户中其他功能的吞吐量。这增加了监控一些可能超出帐户限制的功能的工程工作量,从而导致嘈杂的邻居场景并降低同一帐户中其他功能的总体并发性。

现在,通过这些扩展改进,流量变化较大的客户可以比以前更快地达到并发目标。例如,发布突发新闻报道的新闻网站或进行限时抢购的在线商店将迎来大量访问者涌入。由于这些改进,它们现在的扩展速度比以前快了 12 倍。

此外,使用Amazon Athena和Amazon Redshift等服务以及基于Lambda 的标量 UDF来执行数据丰富或数据转换的客户将受益于这些改进。这些服务依赖于批处理数据并将其分块传递给 Lambda,同时调用多个并行函数。增强的并发扩展行为确保 Lambda 可以快速扩展并满足服务级别协议 (SLA) 要求。

2、实践中究竟如何?

下图显示了一个函数每 10 秒接收并处理请求。帐户并发限制设置为 7,000 个并发请求,并在同一帐户中的所有功能之间共享。每个函数的扩展速率固定为每 10 秒 1,000 个并发执行。此速率独立于同一帐户中的其他功能,这样可以更轻松地预测此功能将如何扩展和限制请求(如果需要)。

图片

图片

  • 09:00:00 – 该函数已经运行了一段时间,并且已经有 1,000 个并发执行正在处理。
  • 09:00:10 – 十秒后,又爆发了 1,000 个新请求。该函数可以毫无问题地处理它们,因为该函数每 10 秒最多可以扩展至 1,000 个并发执行。
  • 09:00:20 – 同样的情况也发生在这里:一千个新请求。
  • 09:00:30 – 该函数现在收到 1,500 个新请求。由于函数的最大扩展容量为每 10 秒 1,000 个请求,因此其中 500 个请求将受到限制。
  • 09:01:00 – 此时,该函数已处理 4,500 个并发请求。但突然出现了 3,000 个新请求。Lambda 处理 1,000 个新请求并限制 2,000 个,因为该函数每 10 秒可以扩展到 1,000 个请求。
  • 09:01:10 – 10 秒后,又爆发了 2,000 个请求,该函数现在可以再处理 1,000 个请求。但是,其余 1,000 个请求会受到限制,因为该函数可以扩展到每 10 秒 1,000 个请求。
  • 09:01:20 – 现在该函数正在处理 6,500 个并发请求,并且有 1,000 个传入请求。其中前 500 个请求得到处理,但其他 500 个请求受到限制,因为该函数达到了 7,000 个请求的帐户并发限制。请务必记住,可以通过在AWS 管理控制台中创建支持票证来提高账户并发限制。

如果你的账户中有多个函数,这些函数将独立扩展,直到达到账户总并发限制。之后,所有新的调用都将受到限制。

3、可用范围及具体规则

默认情况下,所有功能都会启用这些扩展改进。据悉,从去年 11 月 26 日开始到 12 月中旬,AWS 将逐步向除中国和 GovCloud 区域之外的所有 AWS 区域推出这些扩展改进。

具体规则如下:

Lambda不会累积并发扩展率中未使用的部分。这意味着,在任何时刻,你的扩展速率始终最大为1000个并发单元。例如,如果在10秒的时间间隔内没有使用任何可用的1000个并发单元,那么在接下来的10秒间隔内就不会增加1000个额外的单元。在接下来的10秒内,并发扩展率仍然是1000。

只要你的函数继续接收越来越多的请求,Lambda就会以最快的速度扩展,达到帐户的并发限制。可以通过配置保留并发来限制单个函数可以使用的并发量。如果请求的速度快于函数的扩展速度,或者函数处于最大并发状态,那么其他请求将失败,并出现节流错误(429状态代码)。 

4、总结

以前,Lambda 函数在账户级别共享扩展限制,如果一个函数遇到高流量,则会导致潜在的吞吐量问题。AWS Lambda 函数更新后,扩展速度提高了 12 倍。现在,每个函数每 10 秒扩展 1,000 个并发执行,独立于同一账户中的其他函数,直到达到账户的聚合并发限制。此更新无需额外成本或配置更改,通过允许快速扩展,使面临不可预测流量的应用程序受益匪浅。

新的独立扩展系统可以让函数更快地达到并发目标,这对于突发新闻或秒杀闪购等场景将会更加出色。

此外,利用 Lambda 进行数据处理的 Amazon Athena 和 Amazon Redshift 等服务将因此次更新而获得性能增强。这些改进默认启用,并将推广到除中国和 GovCloud 区域之外的所有 AWS 区域。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/256769.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot182基于springboot的网上服装商城

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

vivado 使用块综合策略

使用块综合策略 概述 AMD Vivado™合成具有许多策略和全局设置,您可以使用这些策略和设置自定义设计的合成方式。此图显示了可用的预定义策略在“合成设置”和“表:Vivado预配置策略”中提供了一个并排的战略设置的比较。您可以使用RTL或中的属性或XDC…

2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 2023年是人工智能大语言模型大爆发的一年,一些概念和英文缩写也在这一年里集中出现,很容易混淆,甚至把人搞懵。 文章目录 前言01 《ChatGPT 驱动软件开…

C++完成使用map Update数据 二进制数据

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…

三分钟教你如何把不要钱的ChatGPT3.5用出花钱4.0的效果!

三分钟教你如何把不要钱的ChatGPT3.5用出花钱4.0的效果! 关注微信公众号 DeepGo 计算机杂谈及深度学习记录&分享 上一期我们聊到 ChatGPT4.0确实在各方面都优于3.5 花了钱的就是不一样 但我们有没有办法去弥补这一差距呢? 今天我就来教你 转发…

mysql表设计

表设计流程: (1)分库:根据模块分 (2)分表:根据流程分表 (3)冗余字段和视图设计 21个表设计准则 (1)命名规范 account_no,account_number 表名用t…

OpenCV-38 图像金字塔

目录 一、图像金字塔 1. 高斯金字塔 2. 拉普拉斯金字塔 一、图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔是同一图像不同分辨率的子图…

【RabbitMQ(一)】:基本介绍 | 配置安装与快速入门

应该是新年前最后一篇博客了,明天浅浅休息一下,提前祝大家新年快乐捏!😊😊😊 01. 基础理解 1.1 同步调用和异步调用 👉 同步调用 的时候调用者会 阻塞 等待被调用函数或方法执行完成&#xff…

《Java 简易速速上手小册》第9章:Java 开发工具和框架 (2024 最新版)

文章目录 9.1 Maven 和 Gradle - 构建与依赖管理的神兵利器9.1.1 基础知识9.1.2 重点案例:使用 Maven 构建 Spring Boot 应用9.1.3 拓展案例 1:使用 Gradle 构建多模块项目9.1.4 拓展案例 2:利用 Gradle Wrapper 确保构建的一致性 9.2 Spring…

InstantBox:开箱即用的临时 Linux 环境

在云计算和虚拟化技术日益成熟的今天,我们有时需要一个快速、简单、临时的 Linux 环境来进行各种任务。这就是 InstantBox 的用武之地。 什么是 InstantBox? InstantBox 是一个开源项目,它可以快速启动临时的 Linux 系统,并提供…

Vue-自定义属性和插槽(五)

目录 自定义指令 基本语法 (全局&局部注册) 指令的值 练习:v-loading 指令封装 总结: 插槽(slot) 默认插槽 插槽 - 后备内容(默认值) 具名插槽 具名插槽基本语法: 具名插槽简化语法: 作…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、StepperItem组件 用作Stepper组件的页面子组件。 子组件 无。 接口 St…

浅谈进制的转换

本文创作灵感来自CSDN咸鱼WCY 的 咸鱼小白学嵌入式之C语言(2.进制) 博主更完就没更了,决定书接上回(喜 进制是个啥 要理解进制,首先哈,咱得知道不同进制的含义 说到底,各个进制其实有点像在…

双活工作关于nacos注册中心的数据迁移

最近在做一个双活的项目,在纠结一个注册中心是在双活机房都准备一个,那主机房的数据如果传过去呢,查了一些资料,最终在官网查到了一个NacosSync 的组件,主要用来做数据传输的,并且支持在线替换注册中心的&a…

java SSM新闻管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM新闻管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S…

springsecurity6使用

spring security 中的类 : AuthenticationManager : 实现类:ProviderManager 管理很多的 provider ,,, 经常使用的,DaoAuthenticationProvider , 这个要设置一个 UserDetailService , 查找数据库&#xff…

生存类游戏《幻兽帕鲁》从部署服务器到开始体验全过程

SteamDB数据显示,《幻兽帕鲁》上线24小时内,在线人数峰值便突破200万,跻身Steam历史排行榜第二位。随着热度进一步发酵,《幻兽帕鲁》官方发布推文称,游戏发售不到6天,销量已经突破了 800万份。欢迎大家在阿…

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

遇到 vue-cli-service 不是内部或外部命令,也不是可运行的程序或批处理文件。 的错误时,通常意味着Vue CLI没有被正确安装或配置在项目中。这可能是因为node_modules目录缺失了必要的包,或者局部安装的Vue CLI没有被正确设置到系统的PATH环境…

消息中间件面试篇

目录 消息中间件 RabbitMQ 消息不丢失 生产者确认机制 消息持久化 交换机持久化 队列持久化 消息持久化 消费者确认 消息重复消费 出现的场景 解决方案 每条消息设置一个唯一的标识id 幂等方案:【 分布式锁、数据库锁(悲观锁、乐观锁&#…

【教学类-48-04】202402013“天干地支 六十一甲子”.

背景需求: 2024年是甲辰龙年。 “辛亥革命”“甲午海战”"戊戌变法”都有天干地支的身影。 参观历史建筑,不少书法碑刻上都是用天干地支进行年代记名 所以我用Python来制作60一甲子的所有天干地支组合 60一甲子 天干地支的排序 作者:阿…