百度一下 藏锋者 就能快速找到本站! 每日资讯归档 下载藏锋者到桌面一键访问

当前位置:主页 > 云计算 > 简单队列服务

简单队列服务

所在栏目:云计算 时间:11-21 09:54 分享:

简单队列服务(SQS)提供一个可靠的、高可扩展的主机队列用于存储在计算机间通信的信息。SQS可以让开发者在执行不同任务的应用分布组件间移动数据,而不会丢失信息或不需每个组件都是可用状态。SQS创建自动工作流,与EC2 和其他AWS基础网络服务紧密连接。SQS通过暴露Amazon网络规模通信构架作为一项网络服务来工作。网络中的任何计算机都可以添加或读取消息,而不需安装软件或配置特定防火墙。应用组件使用SQS可以独立运行,而不需在同一网络上,同一技术来开发,或同时运行。通过查阅AWS关于SQS的官方技术文档,可以看到SQS提供如下基本功能。

开发者可以创建不限数量的SQS队列,每一个都可以发送和接受不限数量的消息。n  新的消息可以随时加入到队列中。消息体可以包含任意格式的达8KB的文本。

计算机可以随时检查队列中等待被读取的消息。

当一台计算机进行处理时,消息会被锁定以阻止其他计算机同时进行处理。如果处理失败,锁定会解除,消息再次可用。

队列中的消息可以最多保留4天。

开发者访问SQS,可以通过基于标准SOAP和Query 的接口设计用任何网络开发工具工作。

此外,SQS提供具有十分明显的优势来处理复杂度,像内生消息系统、许可系统或主机系统持续增加的消耗等。SQS可用于EC2、S3 和SimpleDB,这样可以增加应用的灵活性和可扩展性。常见的用例是创建一个整合的自动工作流,多组件或多模块需要相互通信,但是不能所有同时处理相同的工作量。在该用例中,SQS按照在EC2 实例上运行的应用来有序地发送消息进行处理。

EC2 实例可以读取队列、处理任务、然后将结果作为消息发送到其他SQS队列(可能需要另外的应用进一步处理)。因为EC2 允许应用动态地向上或向下扩展,开发者可以基于SQS队列中工作量来变动计算实例的数量,以保证任务更快地得到执行。SQS提供简单灵活的接口,下列请求服务是可用的。

CreateQueue:用AWS账户创建队列。

ListQueues:列出已经存在的队列。

DeleteQueue:删除一个队列。

SendMessage:向特定队列添加任意数据项。

ReceiveMessage:从特定队列中返回一个或多个消息。

DeleteMessage:从特定队列中移除之前接受的消息。

SetQueueAttributes:消息被读取后锁定以防再次读取的时间里控制队列设置。

GetQueueAttributes:查看一个队列中的信息,比如消息数量等。

作为通信的消息体必然有一个运行周期,即生命周期。SQS消息的生命周期是这样定义的:存在SQS中的消息有一个生命周期,可以方便地管理并确保所有消息都得到处理。

(1)需要发送消息的系统会找到一个SQS队列,使用SendMessage 向其中添加一条新的消息。

(2)处理消息的另一个系统需要处理消息,可以调用ReceiveMessage 以返回消息。

(3)一旦消息被ReceiveMessage 返回,它就不会由任何其他的ReceiveMessage 返回,直到可见时间(visibility timeout)过去。这会阻止多台计算机同时处理同一条消息。

(4)如果处理消息的系统成功完成了该消息的处理任务,它就会调用DeleteMessage 以从队列中移除消息,而其他队列也不会再处理它。如果系统处理失败,那么一旦可见时间过去就会由另外一个ReceiveMessage 来调用。

简单队列服务 免费邮件订阅: 邮件订阅

图片推荐

热点排行榜

CopyRight? 2013 www.cangfengzhe.com All rights reserved