扩展速度提高了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 区域。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VUE学习——表单的输入绑定

使用【v-model】。 输入框 <template><h1>表单输入绑定</h1><input type"text" v-model"message"><p>输入的值&#xff1a;{{ message }}</p> </template> <script>export default{data(){return{messa…

Rabbit和Springboot整合(高阶)

在昨天的练习作业中&#xff0c;我们改造了余额支付功能&#xff0c;在支付成功后利用RabbitMQ通知交易服务&#xff0c;更新业务订单状态为已支付。 但是大家思考一下&#xff0c;如果这里MQ通知失败&#xff0c;支付服务中支付流水显示支付成功&#xff0c;而交易服务中的订单…

Python算法题集_LRU 缓存

Python算法题集_LRU 缓存 题146&#xff1a;LRU 缓存1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【队列字典】2) 改进版一【有序字典】3) 改进版二【双向链表字典】 4. 最优算法 本文为Python算法题集之一的代码示例 题146&#xff1a;LRU …

Xubuntu16.04系统中修改系统语言和系统时间

1.修改系统语言 问题&#xff1a;下图显示系统语言不对 查看系统中可用的所有区域设置的命令 locale -a修改/etc/default/locale文件 修改后如下&#xff1a; # File generated by update-locale LANG"en_US.UTF-8" LANGUAGE"en_US:en"LANG"en_US…

力扣hot2--哈希

推荐博客&#xff1a; for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 字母异位词都有一个特点&#xff1a;也就是对这个词排序之后结果会相同。所以将排序之后的string作为key&#xff0c;将排序之后能变成key的单词组vector<string>作为value。 class Solution …

【Linux】线程概念和线程控制

线程概念 一、理解线程1. Linux中的线程2. 重新定义线程和进程3. 进程地址空间之页表4. 线程和进程切换5. 线程的优点6. 线程的缺点7. 线程异常8. 线程用途9. 线程和进程 二、线程控制1. pthread 线程库&#xff08;1&#xff09;pthread_create()&#xff08;2&#xff09;pth…

点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)

解决方法&#xff1a;在 <el-menu> 的 select 事件中调用了 handleMenuSelect 方法来处理菜单项的选择。你可以在 handleMenuSelect 方法中根据菜单项的 index 来执行相应的操作&#xff0c;例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变&#xf…

【教程】MySQL数据库学习笔记(三)——数据定义语言DDL(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 文章目录 【MyS…

智能汽车行业产业研究报告:4D成像毫米波雷达—自动驾驶最佳辅助

今天分享的是智能汽车系列深度研究报告&#xff1a;《智能汽车行业产业研究报告&#xff1a;4D成像毫米波雷达—自动驾驶最佳辅助》。 &#xff08;报告出品方&#xff1a;开源证券&#xff09; 报告共计&#xff1a;43页 视觉感知最佳辅助——4D 成像毫米波雷达 感知是自动…

Excel模板1:彩色甘特图

Excel模板1&#xff1a;彩色甘特图 分享地址 当前效果&#xff1a;只需要填写进度&#xff0c; 其余效果都是自动完成的 。 阿里网盘永久分享&#xff1a;https://www.alipan.com/s/cXhq1PNJfdm ​省心。能用公式的绝不使用手动输入。 ​​ 这个区域以及标题可以手动输入…

C++PythonC# 三语言OpenCV从零开发(8):图像平滑处理

文章目录 相关链接前言图像资源图像平滑处理图像学知识补充(重点)什么是卷积什么是图像滤波什么是方框滤波和均值滤波 代码PythonCCsharp 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课…

【C++】内存五大区详解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【C语言】指针专项练习 都是一些大厂的笔试真题 附有详细解析,带你深入理解指针

一.sizeof()与strlen() sizeof是一个操作符&#xff0c;而strlen是一个库函数。 数组名代表首元素地址&#xff0c;有两种情况例外&#xff0c;第一种是数组名单独放在sizeof内部&#xff0c;第二种是&数组名&#xff0c;这两种情况下数组名代表的是整个数组。sizeof(arr…

【教程】Kotlin语言学习笔记(一)——认识Kotlin(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 文章目录 【Kotlin语言学习】系列文章一、Kotlin介绍二、学习路径 一、…

huggingface学习|用dreambooth和lora对stable diffusion模型进行微调

目录 用dreambooth对stable-diffusion-v1-5模型进行微调&#xff08;一&#xff09;模型下载和环境配置&#xff08;二&#xff09;数据集准备&#xff08;三&#xff09;模型微调&#xff08;四&#xff09;运行微调后的模型 用lora对stable-diffusion-v1-5模型进行微调&#…

在小区门口开什么店比较好?把握商机从这里开始

作为一位资深的鲜奶吧创业者&#xff0c;我已经在这个行业摸爬滚打了五年。这五年的时间里&#xff0c;我见证了社区商业的繁荣与变迁&#xff0c;也深刻体会到了在小区门口开店的商机与挑战。今天&#xff0c;我想和大家分享一些关于在小区门口开店的见解&#xff0c;特别是针…

【Linux】Kali Linux 系统安装详细教程(虚拟机)

目录 1.1 Kali linux简介 1.2 Kali Linux工具 1.3 VMware workstation和ESXi的区别 二、安装步骤 一、Kali概述 1.1 Kali linux简介 Kali Linux是基于Debian的Linux发行版&#xff0c; 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最…

【C语言】【力扣】7.整数反转和9.回文数

一、整数反转 1.1 个人思考过程 初解&#xff1a;出现ERROR&#xff0c;数据溢出的情况下应该返回0。&#xff08;错误&#xff09; int reverse(int x){int y0;while(x!0){yy*10x%10;x/10; }return y; } 再解&#xff1a;加上数据溢出判断条件。&#xff08;正确&#…

upload-labs文件上传漏洞靶场

第一关 <?php eval ($_POST[123]);?>发现他这个是通过客户端前端写了一个限制 我们禁用srcipt即可 蚁剑成功打开 第二关 我们上传文件2.php它提示我们文件类型不正确 我们可以联想到做了后缀检测 我们通过burp抓包修改后缀 第三关 我们上传一个.php文件不可上…

自定义Spring Boot Starter

引言 在Spring Boot的世界中&#xff0c;Starter 能够简化我们的开发过程&#xff0c;通过封装常见的依赖和自动配置。本篇旨在为有志于进一步简化Spring Boot应用配置的开发者提供指导&#xff0c;让我们一起创建一个自定义的Spring Boot Starter。 一、什么是 Spring Boot …