本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Amazon SQS 标准队列
Amazon SQS 的默认队列类型为标准。标准队列的每个 API 操作(SendMessage
、ReceiveMessage
或 DeleteMessage
)每秒支持接近无限的 API 调用。标准队列支持 at-least-once 消息传送。但是,由于存在允许近乎无限吞吐量的高度分布式架构,偶尔会有一条消息的多个副本不按顺序传送。标准队列会尽最大努力进行排序,保证了消息大致按其发送的顺序进行传递。
在确认 SendMessage
之前,Amazon SQS 会将一条消息冗余存储在多个可用区 (AZ) 中。由于消息副本存储在多个可用区中,因此任何一个计算机、网络或可用区故障都不会使消息无法访问。
有关如何使用 Amazon SQS 控制台创建和配置队列的信息,请参阅创建队列(控制台)。有关 Java 的示例,请参阅Amazon SQS Java SDK 示例。
您可以在很多情况下使用标准消息队列(只要应用程序能够处理多次到达和不按顺序到达的消息),例如:
-
将实时用户请求从密集型后台工作中分离 - 让用户在调整媒体大小或对媒体编码时上传媒体。
-
将任务分配给多个工作线程节点 - 处理大量信用卡验证请求。
-
将消息分批以便进一步处理 - 计划要添加到数据库的多个条目。
有关与标准队列相关的配额,请参阅配额。
有关使用标准队列的最佳实践,请参阅针对 Amazon SQS 标准和 FIFO 队列的建议。