亚马逊AWS官方博客
AWS Lambda 通过适用于 SQS 事件源映射的预置模式增强事件处理能力
今天,我们宣布适用于带有 Amazon Simple Queue Service(Amazon SQS)事件源映射(ESM)特征的 AWS Lambda 的预置模式正式发布,客户可以通过这项新特征配置专用轮询资源,从而优化事件驱动型应用程序的吞吐量。借助这项新功能,您可以将扩展速度提升 3 倍,并将并发性能提高 16 倍,不仅能以更低延迟处理事件、更高效地应对突发流量峰值,还能对事件处理资源进行精准控制。
现代应用程序越来越依赖事件驱动型架构,在这种架构中,服务通过事件和消息进行通信。Amazon SQS 常被用作 Lambda 函数的事件源,帮助开发者构建松散耦合的可扩展应用程序。尽管 SQS ESM 会自动处理队列轮询和函数调用,但对性能有严格要求的用户希望能更灵活地控制轮询行为,以应对波动的流量模式并保持较低的处理延迟。
SQS ESM 预置模式通过引入事件轮询器满足了这些需求。事件轮询器是专门用于处理预期流量的专用资源,可自动纵向扩展至每分钟 1000 个并发执行,扩展速度较之前提升 3 倍多,能快速应对事件流量的突发峰值,并且支持最高 20000 个并发,处理能力提升 16 倍,可通过 Lambda 函数高效处理数百万个事件。这种增强的扩展行为让客户即使在流量激增时,也能保持稳定的低延迟表现。
从金融服务到游戏公司,各行各业的企业都在使用 AWS Lambda 和 Amazon SQS 来处理其任务关键型应用程序的实时事件。这些组织包括一些大型的在线游戏平台和金融机构,这些机构要求其事件驱动型工作负载能保持稳定的亚秒级处理速度,尤其是在使用高峰期。SQS ESM 预置模式是一种功能,您可以使用它来满足严苛的性能要求,同时保持成本控制。
增强的控制和性能
在预置模式下,您可以为 SQS ESM 配置事件轮询器的最小数量和最大数量。每个事件轮询器代表一个计算单元,负责在调用 Lambda 函数前处理队列轮询、事件批处理和筛选操作。单个事件轮询器可实现每秒最多 1MB 的吞吐量、最多 10 个并发调用,或每秒最多 10 次 SQS 轮询 API 调用。通过设置事件轮询器的最小数量,您可以使应用程序保持基准处理能力,可以立即处理流量突增。建议根据已知的峰值工作负载需求设置事件轮询器的最小数量。可选的最大数量设置则可通过限制总处理吞吐量来防止下游系统过载。
这种新模式显著改善了事件驱动型应用程序应对变化工作负载的能力。流量增长时,ESM 会在几秒内检测到积压,在配置的最小值和最大值之间动态扩展事件轮询器,速度比以前快 3 倍。这种增强的扩展能力与处理能力的显著提升相辅相成,支持最高 2GBps 的总流量和 20000 个并发请求,是之前的 16 倍。通过保持最少数量的即用型事件轮询器,您的应用程序可以实现可预测的性能,在处理突然的流量高峰时不会经历扩展资源时经常会出现的延迟。在低流量时段,ESM 会自动缩减到配置的事件轮询器最小数量,这意味着您可以在保持响应能力的同时优化成本。
操作演示
在 AWS 管理控制台中启用预置模式非常简单。您需要一个已经配置的 SQS 队列和一个 Lambda 函数。首先,在您的 Lambda 函数的配置选项卡中,选择触发器,然后选择添加触发器。这将打开一个用户界面,您可以在其中配置触发器。从源下拉菜单中选择 SQS,然后选择要使用的 SQS 队列。
在事件轮询器配置下,您现在将看到一个名为预置模式的新选项。选择配置以显示事件轮询器最小数量和事件轮询器最大数量设置,每个轮询器都显示默认值以及最小值和最大值。

配置预置模式后,您可以保存触发器。如果您稍后需要对其进行更改,可以在 AWS Lambda 配置部分的触发器选项卡下找到当前配置并进行修改。

监控和可观测性
您可以通过 Amazon CloudWatch 指标监控预置模式使用情况。ProvisionedPollers 指标显示在一分钟窗口内处理事件的活跃事件轮询器的数量。
现已推出
Lambda SQS ESM 的预置模式现已在所有商用 AWS 区域推出。您可以通过 AWS 管理控制台、AWS 命令行界面(AWS CLI)或 AWS SDK 使用此特征。定价基于预置的事件轮询器数量及其预置持续时间,以“事件轮询器单元(EPU)”为计量单位。每个 EPU 支持每个事件轮询器每秒最高 1MB 的吞吐能力,且每个 ESM 至少需配置 2 个事件轮询器。有关 EPU 费用的更多信息,请参阅 AWS 定价页面。
要了解有关 SQS ESM 预置模式的更多信息,请访问 AWS Lambda 文档。立即开始构建响应速度更快的事件驱动型应用程序,加强对事件处理资源的控制。
AWS 架构师中心: 云端创新的引领者探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用 |
![]() |

