微软云平台 Azure简介 (七)Windows Azure 存储之Queue
Queue主要用来实现WorkRole和WebRole之间进行通信。
Queue支持可可持久化的异步消息。一个消息最大8KB.
示意图如下
程序在处理队列中的消息的时候应该注意要处理毒药消息。毒药消息的意思是一个不正常格式的内容。
WorkRole程序在处理这个消息的时候会抛出异常,因为消息没有被处理还会被下一个WorkRole取到,会被
一次一次的不断的处理。
Queue支持PeekMessage和GetMessage
PeekMessage只取得消息,并不改变他的可视性,别的WorkRole仍然可以看见此Message.
GetMessage需要指定一个非可视时间,在非可视时间内,别的WorkRole不能看见此Message.
消息需要在WorkRole处理完调用DeleteMessage从队列中删除。
每个消息维护一个DeqeueCount,记录每次被GetMessage时加一。被PeekMessage时值不变。
判断毒药消息的方法
1.可以通过消息的DequeCount进行判断
2.可以通过判断消息的InsertionTime来判断
完