SQS-简单队列服务

  因为我们新浪项目的需要,接触了一下SINA SQS(Sina Simple Queue Service ),使用它可以创建一个队列,然后从不同的地方往里面放东西,然后又可以在不同的地方不停的往外取东西,其实它就是一个分布式的消息传递通道。其实的它的前身是Amazon SQS,包括亚马逊简单队列服务也是基于它。包括现在很热的云计算也可以使用它来做数据传递。

  队列的基础结构通常是在公司网络的内部创建的,可以允许系统和应用程序互相通信。Amazon的简单队列服务(Amazon Simple Queue Service,Amazon SQS)采用这个概念,并引入Internet以实现简单易用的Web服务。

  通过使用Amazon SQS,开发人员可以开发分布式的应用程序,并在它们中间用一种安全、灵活和可靠的方式通信。任何具有Internet 连接的机器都可以从一个Amazon队列中读取或张贴内容。队列的接受者可以在不同位置、不同时间读取队列中的数据。并且它支持通过域名的CDN。

  队列可以被命名并指定访问权限来限制谁有权读、写队列。Amazon SQS 服务还提供了内置的功能来避免死锁的发生,或用来处理当两个接受者同时访问相同消息的情况。

  SQS系统内部的节点是对等的,任何一个节点都可以提供服务,关于queue的分布是在系统内部实现的,由系统内部调整queue的服务节点列表,也不是硬hash的。当然,从用户的角度看,用户client不需要关心queue在那些节点上,对外的接口是一个域名,用户只需用这个域名访问即可。

  关于消息的数据类型,应该只支持基于文本的消息,如果需要比如数组这样的数据结构的时候,进行序列化操作即可。

  关于存储和分发我还没有研究过,应该是基于SimpleDB的存储。

posted @ 2009-06-08 11:38  window07  阅读(995)  评论(0编辑  收藏  举报