本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Simple Queue Service 是什么?
Amazon Simple Queue Service (Amazon SQS) 提供安全、持久且可用的托管队列,可让您集成和分离分布式软件系统和组件。Amazon SQS 提供常见的构造,例如死信队列和成本分配标签。它提供了一个通用 Web 服务 API,并且可通过 AWS 开发工具包支持的任何编程语言访问。
Amazon SQS 支持标准队列和 FIFO 队列。有关更多信息,请参阅队列类型
使用 Amazon SQS 的优势
-
安全性 – 您可以控制谁能向 Amazon SQS 队列发送消息以及谁能从队列接收消息。
利用 服务器端加密 (SSE),可以使用 AWS Key Management Service (AWS KMS) 中托管的密钥保护队列中消息的内容,从而通过此方式传输敏感数据。
-
持久性 – 为确保消息的安全,Amazon SQS 将消息存储在多个服务器上。标准队列支持至少一次消息传送,而 FIFO 队列支持仅一次消息处理。
-
可用性 – Amazon SQS 使用冗余基础设施为生成和使用消息提供高度并发的消息访问和高可用性。
-
可扩展性 – Amazon SQS 可独立处理各个缓冲的请求,并可透明扩展以处理任何负载增加或峰值,无需任何预配置指令。
-
可靠性 – Amazon SQS 在处理期间锁定消息,以便多个生成者可同时发送消息,多个使用者可同时接收消息。
-
自定义 – 您的队列不必完全相同—例如,您可以设置队列的默认延迟。可以使用 Amazon Simple Storage Service (Amazon S3) 或 Amazon DynamoDB 存储大于 256 KB 的消息的内容,Amazon SQS 保留指向 Amazon S3 对象的指针,您也可以将一个大消息拆分为几个小消息。
、Amazon SQS 和 Amazon MQ 之间的区别Amazon SNS
Amazon SQS 和 Amazon SNS
Amazon MQ
队列类型
下表介绍了标准队列和 FIFO 队列的功能。
标准队列 | FIFO 队列 |
---|---|
无限吞吐量 – 标准队列的每个 API 操作( 至少传送一次 – 消息至少传送一次,但偶尔会传送消息的多个副本。 最大努力排序 – 消息偶尔可能按不同于其发送时的顺序传递。 |
高吞吐量 – 如果您使用批处理,则 FIFO 队列的每个 API 方法(SendMessageBatch 、ReceiveMessage 或 DeleteMessageBatch )每秒最多支持 3000 个事务。3000 个事务代表 300 个 API 调用,每个调用带有包含 10 条消息的一个批处理。要申请提高配额,请提交支持请求SendMessage 、ReceiveMessage 或 DeleteMessage )每秒最多支持 300 个 API 调用。
仅传输一次处理 – 消息传递一次并在使用者处理并删除它之前保持可用。不会将重复项引入到队列中。 先进先出传递 – 严格保持消息的发送和接收顺序。 |
![]() |
![]() |
当吞吐量很重要时,请在应用程序之间发送数据,例如:
|
当事件的顺序重要时,请在应用程序之间发送数据,例如:
|
入门的常见任务Amazon SQS
-
要使用 Amazon SQS 创建您的第一个队列并发送、接收和删除消息,请参阅Amazon SQS 入门。
-
要触发 Lambda 函数,请参阅配置队列以触发 AWS Lambda 函数(控制台)。
-
要探索 Amazon SQS 的功能和架构,请参阅Amazon SQS 的工作原理。
-
要查找有助于您充分利用 Amazon SQS 的准则和注意事项,请参阅Amazon SQS 的最佳实践。
-
浏览其中一个 AWS Amazon SQS的 SDKs 示例,例如 适用于 Java 的 AWS 开发工具包 2.x 开发人员指南。
-
要了解有关 Amazon SQS 操作的信息,请参阅Amazon Simple Queue Service API Reference。
-
要了解 Amazon SQS AWS CLI 命令,请参阅 AWS CLI Command Reference。
Amazon SQS定价
Amazon SQS 没有预付费用。前一百万个月度请求是免费的。之后,您根据请求的数量和内容以及与 Amazon S3 和 AWS Key Management Service 的交互进行付款。
有关信息,请参阅 Amazon SQS 定价