Amazon Simple Queue Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

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

我需要哪种类型的队列?

标准 队列 FIFO 队列

在所有区域中可用。

无限吞吐量 – 标准 队列每个 操作支持接近无限的每秒事务数 (TPS)。

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

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

在美国东部(弗吉尼亚北部)、美国东部(俄亥俄州)、美国西部(俄勒冈) 和欧洲(爱尔兰) 区域中提供。

高吞吐量 – 默认情况下,借助批处理,FIFO 队列每秒最多支持 3000 条消息。要请求提高上限,请登记支持请求。 不使用批处理,FIFO 队列每秒最多支持 300 条消息 (每秒 300 个发送、接收或者删除操作)。

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

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

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

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

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

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

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

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

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

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

如何开始使用 Amazon SQS?

  • 要使用 Amazon SQS 创建您的第一个队列并发送、接收和删除消息,请参阅Amazon SQS 入门

  • 要探索 Amazon SQS 的功能和架构,请参阅Amazon SQS 的工作原理

  • 要找出有助于您充分利用 Amazon SQS 的准则和注意事项,请参阅Amazon SQS 的最佳实践

  • 要了解有关 Amazon SQS 操作的信息,请参阅 Amazon Simple Queue Service API Reference

  • 要了解有关 Amazon SQS AWS CLI 命令的信息,请参阅 AWS CLI Command Reference 中的 Amazon SQS。

我们希望听到您的意见和建议

我们欢迎您提供反馈。要与我们联系,请访问 Amazon SQS 开发论坛