微软云平台 Azure简介 (七)Windows Azure 存储之Queue

Queue主要用来实现WorkRole和WebRole之间进行通信。

Queue支持可可持久化的异步消息。一个消息最大8KB.

 

示意图如下

Ff803364.a6d4d49f-313b-44ba-9b28-a4118db2fac4(en-us,PandP.10).png

 

程序在处理队列中的消息的时候应该注意要处理毒药消息。毒药消息的意思是一个不正常格式的内容。

WorkRole程序在处理这个消息的时候会抛出异常,因为消息没有被处理还会被下一个WorkRole取到,会被

一次一次的不断的处理。

 

Queue支持PeekMessage和GetMessage

PeekMessage只取得消息,并不改变他的可视性,别的WorkRole仍然可以看见此Message.

GetMessage需要指定一个非可视时间,在非可视时间内,别的WorkRole不能看见此Message.

消息需要在WorkRole处理完调用DeleteMessage从队列中删除。

 

每个消息维护一个DeqeueCount,记录每次被GetMessage时加一。被PeekMessage时值不变。

 

判断毒药消息的方法

1.可以通过消息的DequeCount进行判断

2.可以通过判断消息的InsertionTime来判断

 

posted @ 2011-01-07 16:21  软件猎人  阅读(479)  评论(0编辑  收藏  举报