Amazon Simple Queue Service 是什么? - Amazon Simple Queue Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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 是高度可扩展、易于使用且不需要您设置消息代理的队列和主题服务。我们建议将这些服务用于新的应用程序,这样可以实现几乎不受限制的可扩展性和简单 APIs。

Amazon MQ 是一项托管消息代理服务,可兼容许多常见消息代理。我们建议使用 Amazon MQ 从依赖与 API(如 JMS)或协议(如 AMQP、MQTT、OpenWire 和 STOMP)的兼容性的现有消息代理迁移应用程序。

队列类型

下表介绍了标准队列和 FIFO 队列的功能。

标准队列 FIFO 队列

无限吞吐量 – 标准队列的每个 API 操作(SendMessageReceiveMessageDeleteMessage)每秒支持接近无限的 API 调用。

至少传送一次 – 消息至少传送一次,但偶尔会传送消息的多个副本。

最大努力排序 – 消息偶尔可能按不同于其发送时的顺序传递。

高吞吐量 – 如果您使用批处理,则 FIFO 队列的每个 API 方法(SendMessageBatchReceiveMessageDeleteMessageBatch)每秒最多支持 3000 个事务。3000 个事务代表 300 个 API 调用,每个调用带有包含 10 条消息的一个批处理。要申请提高配额,请提交支持请求。 在不使用批处理的情况下,FIFO 队列的每个 API 方法(SendMessageReceiveMessageDeleteMessage)每秒最多支持 300 个 API 调用。

仅传输一次处理 – 消息传递一次并在使用者处理并删除它之前保持可用。不会将重复项引入到队列中。

先进先出传递 – 严格保持消息的发送和接收顺序。

当吞吐量很重要时,请在应用程序之间发送数据,例如:

  • 将实时用户请求从密集型后台工作中分离:让用户在调整媒体大小或对媒体编码时上传媒体。

  • 将任务分配给多个工作程序节点:处理大量信用卡验证请求。

  • 将消息分批以便进一步处理:计划要添加到数据库的多个条目。

当事件的顺序重要时,请在应用程序之间发送数据,例如:

  • 确保按正确的顺序执行用户输入的命令。

  • 通过按正确的顺序发送价格修改来显示正确的产品价格。

  • 防止学员在注册账户之前参加课程。

入门的常见任务Amazon SQS

Amazon SQS定价

Amazon SQS 没有预付费用。前一百万个月度请求是免费的。之后,您根据请求的数量和内容以及与 Amazon S3 和 AWS Key Management Service 的交互进行付款。

有关信息,请参阅 Amazon SQS 定价