码迷,mamicode.com
首页 > 其他好文 > 详细

Amazon SQS简介 上篇

时间:2014-10-24 13:04:48      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   使用   sp   on   

SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它非常简单,消息队列服务可以用来buffer burst, 使整个服务异步处理,不要求组件始终可用.

开发人员最初使用 Amazon SQS 时只需用到五个 API:

CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility 和 DeleteMessage。


Amazon SQS 会尽量保持消息顺序,但是由于队列的分布式特性,它无法保证消息的先后顺序。也正是因为舍弃了这些特性,才得以保持了SQS的可扩展性。


每个 Amazon SQS 队列都具有可配置的可见性超时(Default Visibility Timeout)。在从队列中读取消息后的指定时间内,该消息对其他读取者保持不可见。只要消息的处理时间短于可见性超时,每条消息都会得以处理并删除。如果处理消息的组件出现失败或不可用,可见性超时结束后该消息即对读取该队列的任何组件可见。这允许多个组件同时从同一队列中读取消息,每个组件负责处理不同的消息, 所以这个特性需要应用是幂等的。


在 Amazon SQS 返回消息给您时,该消息会保存在队列中,无论实际上您是否收到该消息。您要负责删除该消息;删除请求可确认您已处理了该消息。如果您不删除消息,Amazon SQS 将在另一个接收请求中递送该消息。


所以这样情况也是有可能发生的,由于分布式 Amazon SQS 系统中的某台服务器在执行删除时不可用,DeleteMessage 操作未能删除消息的所有副本。该消息副本可能会被再次递送,所以在设计应用程序时,要考虑此,以便再次收到已删除的消息时不会出现错误或不一致。 


 如果连续 30 天以上时间没有针对某个队列签发以下任何请求,SQS有可能删除该队列:SendMessage、ReceiveMessage、DeleteMessage、GetQueueAttributes 和 SetQueueAttributes。设计应用程序时应将此考虑在内。 

原文:http://blog.csdn.net/hongchangfirst/article/details/25870323

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


Amazon SQS简介 上篇

标签:style   blog   http   color   io   ar   使用   sp   on   

原文地址:http://blog.csdn.net/hongchangfirst/article/details/25870323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!