2011-07-27 37 views
3

我建立在Windows Azure的应用程序,并要求供应事件的多个实例一些建议,这反过来又推动他们各自的活动用户。我正在考虑使用消息队列(Azure队列存储)。(Windows Azure的)消息队列 - 三项赛在多台计算机

给予一定的情况下,它是采用了彗星的实施,推动变化给客户的Web应用程序。由于可扩展性要求,它需要在分布式环境中运行。这意味着客户端可以连接到不同的物理机器。

当用户进行某种更改时,需要将其推送给某些其他用户。

使用一个消息队列,所有的角色实例将不得不偷看消息,但是没有办法知道有多少角色查看了消息,所以不清楚何时删除队列。每当有人偷看时,我可以执行一些计算角色数量并增加计数器的内容。有没有这种默认的实现,我是以正确的方式吗?

+1

这听起来像一个天蓝色的服务巴士给我的工作。 –

回答

1

我不会使用Azure的队列对于这一点,因为他们根本就不能很好的工作建议。在我看来,正确的做法是使用AppFabric队列。

我已经在我的博客上写过关于它们(a short introduction to AppFabric queues)的内容,它也涵盖了我相信你需要的内容:订阅。为了给你一些背景,假设我们有两个零售商店,一个仓库和一个审计应用程序。我们将创建一个主题(用于销售)和两个订阅,一个是仓库应用程序,另一个是审核应用程序。

当消息在队列中的土地,它的“复制”到两个订阅。所以你的应用程序实例真的不在乎是否有其他人想要阅读消息。如果有这是他们的责任,以增加新的订阅,

对AppFabric的最后consideratiom是定价,目前的定价是连接基于所以对于每个打开的连接的AppFabric你得到收取每月一定数额(计费计算如同地狱般复杂)。但是,我知道一个事实,他们会改变这个更容易理解/合乎逻辑的东西,但没有更多的细节。

总之,看AppFabric的队列,他们应该提供缺少的功能。

+0

您的博客链接已死 – CountMurphy

+1

不幸的是,这与我的前雇主。我会看看是否还有原始文章并将其上传到我的个人博客。 –