- SQS 介绍:
Amazon Simple Queue Service (SQS) 是一项快速可靠、可扩展且完全托管的消息队列服务。Amazon SQS 可以简单、经济高效地解耦云应用程序的各个组件。您可以使用 Amazon SQS 来传输任何规模的数据,而不会丢失消息,也不要求其他服务始终可用。Amazon SQS 包括具有高吞吐量和至少一次处理的标准队列,还包括能提供 FIFO (先进先出) 传送和严格一次处理的 FIFO 队列。 优点:
可靠
Amazon SQS 在 Amazon 高度可用的数据中心中运行,因此队列在应用程序需要的任何时候都能保持可用。为防止消息丢失或不可用,所有消息都以冗余形式存储在多个服务器和数据中心内。
简便
开发人员最初使用 Amazon SQS 时只需用到 3 个 API:SendMessage、ReceiveMessage 和 DeleteMessage。其他 API 则可用于提供高级的功能。
灵活
根据应用程序的需要,使用适当的队列。标准队列提供最高吞吐量、最大努力排序和至少一次传送。FIFO 队列可确保严格排序和严格一次处理,但仅具有有限吞吐量。
可扩展
Amazon SQS 可随应用程序一起动态扩展,因此您无需担心提前预置的问题。您可以使用的队列和消息数量没有限制,而且标准队列能提供几乎无限的吞吐量。
安全
提供了身份验证机制,确保 Amazon SQS 队列中的消息受到保护,防止遭到未经授权的访问。
便宜
Amazon SQS 无前期费用或固定开支。您可以按 API 请求数支付小额费用。如果您跨 AWS 区域传输数据,需支付额外的数据传输费。简单的例子:
创建SQS例子
# Get the service resource
sqs = boto3.resource('sqs')
# Create the queue. This returns an SQS.Queue instance
queue = sqs.create_queue(QueueName='test', Attributes={
'DelaySeconds': '5'})
# You can now access identifiers and attributes
print(queue.url)
print(queue.attributes.get(