写点什么

Amazon Lambda 支持以简单队列服务作为事件源了

  • 2018-07-17
  • 本文字数:1106 字

    阅读完需:约 4 分钟

Amazon发布更新其简单队列服务(SQS)——开发人员现在可以使用SQS 触发 AWS Lambda 函数了。而且,开发人员不再需要运行轮询服务或创建 SQS 到 SNS 的映射

Amazon SQS 是一个消息队列服务,它在 AWS 中已经存在 10 多年了。它是由 Amazon 完全托管的,可以解耦服务,通过网络访问,自动扩展,预付费。此外,SQS 提供两种类型的队列:

  • 标准队列,提供最大吞吐量、最优排序、至少一次传输;
  • SQS FIFO 队列,按照设计,它可以保证消息仅处理一次,而且是完全按照发送顺序。

AWS Lambda 是四年多前推出的一项计算服务,让开发人员不用配置或管理服务器就可以运行代码。多年来,随着 Amazon 加入更多特性,该服务一直在演化,现在已经支持 SQS 了,也就是说,开发人员现在可以使用队列服务作为 Lambda 的直接事件源来触发事件。目前,Lambda 触发器仅支持标准队列。

在 Lambda 函数中使用 SQS 触发器的典型设置是把它添加到一个函数中,配置函数的执行角色,并指定恰当的权限用于和 SQS 标准队列通信。然后,指定将触发函数的队列名称以及该函数一次可以接收多少消息。



图片来源: https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

当批次大小设置为 1 时,只能同时触发 10 个 Lambda 执行。不过,当批次大小设置的更大时,只能触发一个 Lambda 执行,并基于这个大小发送一些消息。此外,ACI 信息集团技术副总裁 Chris Moyes 在 TechTarget 的一篇文章中写道:

另外,开发人员可以使用这个批次大小,结合 Lambda 的 Reserved Concurrency 设置,设定一次可以处理的消息数量,这有助于控制使用情况,或者防止消息大量涌入其他系统,如把内容传递给 FTP 服务器。

一旦函数消费了现有的消息,AWS Lambda 就会从 SQS 标准队列中删除消息。不过,当函数执行失败或者超时的时候,消息会在队列设置的可见性超时时间过后再次出现在队列中。开发人员可以设置可见性超时、重试次数、重试间隔默认值。

在消费消息时,Lambda 可以横向扩展,并且是自动实现。据公告博文介绍:

按照设计,当队列为空时,Lambda 的自动扩展行为可以保持较低的轮询成本,与此同时,当队列使用频繁时,它又让我们可以向上扩展,实现高吞吐量。

注册在 SQS 中的 Lambda 触发器可以在 SQS 控制台中管理——用户可以在那里配置和编辑触发器。最后,该特性现在已经可以在提供 Lambda 服务的所有区域使用,文档已经更新,除了Lambda 服务不断对SQS 队列长轮询的费用外,还有其他的费用——Amazon 将根据标准 SQS 定价费率收取该账户的 API 调用费用。

查看英文原文: Amazon Announces Lambda Now Supports Simple Queue Service as Event Source

2018-07-17 19:003916
用户头像

发布了 1008 篇内容, 共 398.9 次阅读, 收获喜欢 345 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

React源码分析3-render阶段(穿插scheduler和reconciler)

flyzz177

React

React源码分析2-深入理解fiber

flyzz177

React

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 日志 12月月更

跨平台应用开发进阶(二十五) :uni-app实现IOS云打包解决IOS提交审核相册等隐私描述语导致审核失败问题

No Silver Bullet

uni-app 12月月更 IOS云打包 提交审核 隐私描述语

百度工程师带你探秘C++内存管理(ptmalloc篇)

百度Geek说

c++ Linux 内存管理 12 月 PK 榜

React源码分析4-深度理解diff算法

flyzz177

React

二十大专题,3000道 Java后端核心面试解析,国内超牛的《Java 面试突击核心手册》重磅来袭!

架构师之道

编程 程序员 java面试

教你用JavaScript完成简易贪吃蛇小游戏

小院里的霍大侠

JavaScript 编程开发 实战案例 初学者 入门实战

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

DevData Talks | 大咖集结『研发效能答疑专场』即将开始!

思码逸研发效能

研发管理 研发效能 研发管理工具

架构实战营 - 模块 2- 作业

zealot0317

前端面试比较好的回答

loveX001

JavaScript

最新前端面试总结

loveX001

JavaScript

微信朋友圈高性能复杂度分析

LT

架构实战营

跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存

No Silver Bullet

uni-app 12月月更 文件下载 文件保存

ClassLoader 隔离性的基石是namespace,证明给你看

小小怪下士

Java 程序员 面试

跨平台应用开发进阶(二十六) :忐忑悲壮路,心酸出坑史——记第一次iOS艰辛上架路

No Silver Bullet

uni-app iOS上架 12月月更 问题汇总

React源码解读之任务调度

flyzz177

React

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

如何使用 Towify 在小程序中实现勾选用户协议后登录?

Towify

微信小程序 无代码 触发器

三次握手与四次挥的问题,怎么回答?

loveX001

JavaScript

程序员职场晋升:与阿里前P9的一次近距离互动

博文视点Broadview

架构实战营模块二作业

周烨

架构训练营 模块二作业

提姆

架构训练营10期

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

2022 阿里灵杰AI开发者峰会内容抢先看!

阿里云大数据AI技术

人工智能 阿里云

React源码解读之React Fiber

flyzz177

React

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

如何配置分享到微信功能?

Towify

微信小程序 无代码 触发器

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

关系型数据库设计三大范式

京东科技开发者

关系型数据库 数据库设计 范式 冗余 数据库·

Amazon Lambda支持以简单队列服务作为事件源了_亚马逊云科技_Steef-Jan Wiggers_InfoQ精选文章