SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它非常简单,消息队列服务可以用来buffer burst, 使整个服务异步处理,不要求组件始终可用.
开发人员最初使用 Amazon SQS 时只需用到五个 API:
CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility 和 DeleteMessage。
Amazon SQS 会尽量保持消息顺序,但是由于队列的分布式特性,它无法保证消息的先后顺序。也正是因为舍弃了这些特性,才得以保持了SQS的可扩展性。
每个 Amazon SQS 队列都具有可配置的可见性超时(Default Visibility Timeout)。在从队列中读取消息后的指定时间内,该消息对其他读取者保持不可见。只要消息的处理时间短于可见性超时,每条消息都会得以处理并删除。如果处理消息的组件出现失败或不可用,可见性超时结束后该消息即对读取该队列的任何组件可见。这允许多个组件同时从同一队列中读取消息,每个组件负责处理不同的消息, 所以这个特性需要应用是幂等的。
在 Amazon SQ