写点什么

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:004038
用户头像

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

关注

评论 1 条评论

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

JavaWeb学习总结18--redis学习,java高级程序设计作业系统

Java 程序员 后端

Java 常见的 30 个误区与细节!,java面试刷题

Java 程序员 后端

Java 调试技术 JPDA 架构解读,图文详解

Java 程序员 后端

Java之Spring基础与IOC,java实用教程第五版答案第四章

Java 程序员 后端

Java之StringUtils的常用方法,java整体项目架构图

Java 程序员 后端

Java基础 - 单例(饿汉、懒汉),Runtime类,java教程推荐学客巴巴

Java 程序员 后端

Java 必须掌握的 12 种 Spring 常用注解!你掌握了几种?

Java 程序员 后端

JavaWeb Ajax详解,java64位3下载百度云盘

Java 程序员 后端

Java中的几种线程池详解,rabbitmqpdf百度云

Java 程序员 后端

Java中高级核心知识全面解析-容器(ArrayList)

Java 程序员 后端

JAVA代码审计之Shiro反序列化漏洞分析,浦发银行Java开发笔试题

Java 程序员 后端

Java内存问题 及 LeakCanary 原理分析,mybatis架构设计层次

Java 程序员 后端

Java初学01:学习路线,java基础入门清华大学出版社

Java 程序员 后端

JavaOOP面试题48题(含答案),大厂Java高级多套面试专题整理集合

Java 程序员 后端

JavaScript基础大总结,对于java开发岗位的理解面试

Java 程序员 后端

JavaWeb快速入门--Tomcat,java高级特性面试

Java 程序员 后端

JavaWeb快速入门--JavaScript(2),java面试题库及答案

Java 程序员 后端

Java中当对象不再使用时,不赋值为null会导致什么后果?

Java 程序员 后端

Java中的泛型,java程序执行过程与编译原理

Java 后端

Java几种常用JSON库性能比较,java接口开发面试

Java 程序员 后端

Java 低代码开发平台“光”发布 2,springboot的工作原理图

Java 后端

Java 多线程 —— 同步代码块(1),狂神说docker进阶笔记

Java 程序员 后端

Java个人学习之旅(第十天),java就业班百度网盘

Java 程序员 后端

Java中高级核心知识全面解析——Dubbo,java语言入门自学书

Java 程序员 后端

Java中高级核心知识全面解析——常用框架(Spring常用注解

Java 程序员 后端

Java反射的深入浅出,mongodb优化面试

Java 程序员 后端

Java 多线程 —— 同步代码块,联通java开发面试

Java 程序员 后端

JAVA-数据结构与算法,mysql数据库应用与实践教程

Java 程序员 后端

java中常用单词系列(一),最新Java高级面试题汇

Java 程序员 后端

Spring是如何自动注入多类型的?

编号94530

spring bean @Autowired 自动注入

JavaWeb快速入门--Tomcat(1),关于Java性能优化的几点建议

Java 程序员 后端

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