Azure实战:如何创建一个Cloud Queue
【IT168 微软云计算博客征文活动专稿】Azure Queue提供了一个简单的异步工作调度机制,通过Azure Queue可以连接云应用程序的不同组件,Azure Queue的优点是高可用,持久,性能好,它提供了REST接口,允许非C#语言编写的应用程序从任何地方访问Queue,让云应用程序和本地应用程序集成不再困难,在云应用程序和本地应用程序都可以使用Azure,Queue,主要用途有两个:
· 消息通信总线
· 组件或功能模块解耦
可从W orker 角色或Web角色创建Queue,为了体验Worker角色和Web角色之间的协作,我们从Worker角色创建Queue。
在云服务解决方案中增加一个Worker角色
如图1所示,增加一个Worker角色并与服务关联起来,这个Worker角色定义的职责包括:
· 从配置检索账号信息
· 从云存储创建一个Queue存储容器
在Queue存储中创建Queue
图 1 为Queue初始化插入一个Worker角色
从Worker角色的启动处理程序创建Queue存储容器和Queue
图2显示了Azure Queue存储的数据对象模型, AcctQueueContainerMap 表用于映射Queue名到一个唯一的Queue ID,这个ID是 QueueContainer 和 Message 表的外键。
图 2 Azure Queue数据对象模型
注意Queue的名字只能是字母和数字,并且是大小写敏感的,只接受小写的名称。
创建Queue前,必须先实例化 QueueStorage , QueueStorage 接受一个账户信息作为参数,在开发环境中,账号信息可以硬编码进配置文件中,下面的代码显示了为Queue存储的配置文件内容,包括账号和HTTP端口:
<add key = "AccountName" value="devstoreaccount1"/>
<add key = "AccountSharedKey" value="<ACCOUNT_KEY>"/>
<add key="QueueStorageEndpoint" value="http://127.0.0.1:10001" />
</appSettings>
使用配置文件中的账号信息创建Queue
下面的代码截取自Worker角色项目的实现,其中粗体部分显示了如何创建一个Queue。
