Azure松散耦合/可扩展

时间:2011-09-01 15:14:10

标签: azure azure-queues

我一直在努力解决这个问题。我试图想出一个松散耦合的Azure组件设计,它可以使用队列和工作者角色完全扩展,这些角色可以对项目进行出列和处理。我可以随意扩展工作者角色,发布到队列绝不是问题。到目前为止一切都那么好,但是,似乎唯一真正适用的真实世界模型就是火与忘。它对于日志记录和其他单向操作非常有用,但是假设我想使用队列/辅助角色来加载文件,将其保存到blob,然后在完成后获得响应。或者这种类型的模型不应该用于在线应用程序?操作完成后发送通知的最佳方法是什么?我是否创建了响应Q,然后(以某种方式)检索相关的响应?非常感谢任何帮助!!!!!

2 个答案:

答案 0 :(得分:4)

我通常做一个投票模型。

  1. 客户端(通常是浏览器)发送请求做一些工作。
  2. 前端(Web角色)将工作排入队列并使用ID进行回复。
  3. 后端(辅助角色)处理队列并将结果存储在名为的blob或表实体中。
  4. 客户端轮询(“已经完成了吗?”)。
  5. 前端检查blob或表实体是否存在并相应地进行回复。
  6. 有关此模式的一个示例,请参阅http://blog.smarx.com/posts/web-page-image-capture-in-windows-azure

答案 1 :(得分:1)

你也可以查看servicebus appfabric而不是使用队列。使用servicebus,您可以从servicebus appfabric发送消息,使用队列等。你可以去发布和订阅而不是轮询吧!