AWS Serverless 异步事件提交,支持 SQS 队列
什么是 AWS SQS
AWS SQS 是 AWS Simple Queue Service 的缩写。
它负责在组件之间交换消息。
组件 是软件的一部分,拥有其自身的行为和数据。
AWS SQS 的工作原理
AWS SQS 的工作步骤如下:
- 将消息添加到队列
- 从队列中拾取消息
- 处理消息
- 从队列中删除消息
阅读更多关于 AWS SQS 的信息
在此处阅读 AWS SQS 简介在此处阅读 AWS SQS 概览
在此处阅读 AWS SQS 限制
AWS SQS 视频
W3schools.com 与 AWS Web Services 合作,为我们的学生提供数字培训内容。
使用 SQS 队列进行异步事件提交
Amazon SQS 在 Lambda 和 API 请求之间创建异步连接。
它能够满足请求,无论 Lambda 函数运行多久。
SQS 队列内置重试机制,以防任何队列失败。
Lambda 会保持客户端连接,直到数据可用。
这个过程被称为长轮询。
异步事件提交的工作方式
当客户端发送请求时,它会经过 API Gateway。
API Gateway 将请求发送到 Amazon SQS 并接收消息 ID。
通过消息 ID,客户端可以跟踪消息。
消息存储在 Lambda 轮询的队列中。
当 Lambda 发现队列中有新消息时,它会调用 Lambda 函数。
Lambda 函数随后处理消息。
相关阅读
AWS Cloud Lambda将 AWS Lambda 与 Amazon SQS 结合使用
标准队列与 FIFO 队列
Amazon SQS 有两种类型的队列:标准队列和FIFO 队列。
FIFO 是 First-In-First-Out(先进先出)的缩写。
这意味着先进入队列的数据应该先被检索。
下表显示了两者之间的区别。
FIFO | 标准 |
---|---|
每秒可提交 300 条消息,每个 API 操作 | 每秒可提交几乎无限数量的消息 |
可能多次传递消息 | 可能多次传递消息 |
消息顺序根据组 ID 保证 | 消息顺序不保证 |