本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon SQS 标准队列
Amazon SQS 提供标准队列作为默认队列类型,支持几乎无限数量的每秒 API 调用,以便进行 SendMessage
、ReceiveMessage
和 DeleteMessage
等操作。标准队列可以确保消息至少传递一次,但由于高度分布式架构,同一消息可能会被多次传递,并且消息有时可能会无序到达。尽管如此,标准队列还是会尽最大努力保持消息的发送顺序。
当您使用 SendMessage
发送消息时,Amazon SQS 会在确认消息之前将其以冗余方式存储在多个可用区(AZ)中。这种冗余可以确保即使某个计算机、网络或可用区出现故障,您依然可以访问消息。
您可以使用 Amazon SQS 控制台创建和配置队列。有关详细说明,请参阅 使用 Amazon SQS 控制台创建队列。有关特定于 Java 的示例,请参阅 Amazon SQS Java SDK 示例。
标准队列的应用场景
标准消息队列适用于各种场景,前提是应用程序能够处理可能多次到达或无序到达的消息。示例包括:
-
将实时用户请求从密集型后台工作中分离:用户可以在系统在后台调整媒体大小或对媒体编码时上传媒体。
-
将任务分配给多个 Worker 节点:例如,处理大量信用卡验证请求。
-
批量处理消息以供进一步处理:安排在稍后的时间将多个条目添加到数据库中。
要了解与标准队列相关的配额,请参阅 亚马逊SQS标准队列配额。
有关使用标准队列的最佳实践,请参阅Amazon SQS 最佳实践。