C# 通知windows azure中的所有Webrole Instance

C# 通知windows azure中的所有Webrole Instance,c#,azure,azure-storage,C#,Azure,Azure Storage,我正在开发一个云应用程序,它可以索引大量文档(使用lucene),并托管一个wcf服务来搜索它。我有3个角色: 我创建了一个web角色,该角色承载WCF服务,并保留 内存中的索引 I管理web角色(更新索引) 工作者角色,它等待更新消息,如果收到该消息,则启动更新 我计划有更多WCF托管web角色的实例。 通知wcf角色的所有实例,刷新它们的in-memonry索引的最佳方式是什么 我想每周更新一到两次索引,因此拉动模式(我认为)对我来说不是最好的,因为大多数“拉动”都会返回而没有结果,而且

我正在开发一个云应用程序,它可以索引大量文档(使用lucene),并托管一个wcf服务来搜索它。我有3个角色:

  • 我创建了一个web角色,该角色承载WCF服务,并保留 内存中的索引
  • I管理web角色(更新索引)
  • 工作者角色,它等待更新消息,如果收到该消息,则启动更新
我计划有更多WCF托管web角色的实例。 通知wcf角色的所有实例,刷新它们的in-memonry索引的最佳方式是什么

我想每周更新一到两次索引,因此拉动模式(我认为)对我来说不是最好的,因为大多数“拉动”都会返回而没有结果,而且我们必须为每个存储事务付费

你怎么想

谢谢你的answare


T

我建议您研究Azure服务总线主题。它们允许向多个客户端发送通知。您仍然需要每X分钟轮询一次消息,但由于服务总线是按消息定价的(每10000条消息一便士),并且您每周只发送两次消息,因此成本将是微不足道的


实际上,服务总线是按请求定价的(也是一条消息)。实际上,我必须为所有客户付费。Receive()。根据这一点:“这包括传递“null”消息以响应针对空队列/订阅的接收请求”您是对的,但如果您每分钟请求一次消息,则每个实例每个月只有43k条消息,或者每个服务器每个月大约0.5个信息。这真的有那么贵吗?澄清一点:你每发送或接收10000条消息就要支付一便士,而不是每100000条。如果你有多个订阅者,那么你实际上是在为每个订阅者写一条消息。也就是说:它仍然比单个角色实例便宜大约2个数量级。而且,您可能可以组合您的角色实例,从而比服务总线消息的成本节省更多的钱。