【问题标题】:Notify all Webrole instnance in windows azure通知 Windows azure 中的所有 Webrole 实例
【发布时间】:2013-04-14 04:56:12
【问题描述】:

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

  • 我是托管 WCF 服务的 Web 角色,并保留一份 内存中的索引。
  • 我负责管理的网络角色(更新索引)。
  • 工作角色,等待更新消息,如果收到则开始更新。

我计划拥有更多 WCF 托管网络角色的实例。 通知 wcf 角色的所有实例并刷新其内存索引的最佳方式是什么?

我想每周更新一次或两次索引,所以拉模型(我认为)对我来说不是最好的,因为大多数“拉”会返回没有结果,我们必须为每笔存储交易付费。

你怎么看?

感谢您的回答。

T

【问题讨论】:

    标签: c# azure azure-storage


    【解决方案1】:

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

    http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-topics/

    【讨论】:

    • 实际上,服务总线是按请求定价的(它也是一条消息)。实际上,我必须为 Client.Receive() 付费。据此:msdn.microsoft.com/en-us/library/windowsazure/…“这包括传递“空”消息以响应针对空队列/订阅的接收请求”
    • 您是对的,但是如果您每分钟请求一次消息,则每个实例每月只有 43k 条消息,或者每个服务器每月大约 0.5 美分。真的那么贵吗?
    • 澄清一点:您每发送或接收 10,000 条消息支付一美分,而不是每 100,000 条。如果您有多个订阅者,那么您实际上是在为每个订阅者编写一条消息。也就是说:它仍然比单个角色实例便宜大约 2 个数量级。而且您可能会结合您的角色实例来节省比服务总线消息成本更多的钱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多