首页 文章

WCF或ServiceBus?

提问于
浏览
2

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

  • 我是托管WCF服务的Web角色,并在内存中保留索引的副本 .

  • 我是管理的Web角色(更新索引) .

  • 正在轮询服务总线的辅助角色,以获取更新消息 .

更新过程:

  • 进入管理员网站,然后按一下按钮 . 管理员webrole将更新消息发送到队列,工作者角色收到此消息,遍历文档源(它们也在线)并开始更新 .

我想每周更新一次或两次索引,因此工作者角色会在很长一段时间内汇集消息队列而没有结果(即使我在thread.sleep中设置了很长的休眠时间),我们必须支付每一笔费用 . 交易 .

你认为呢?在worker角色中托管WCF服务以接收更新消息,而不是不必要地轮询消息队列(主要是)会不会更好?

谢谢你的帮助!

Ť

2 回答

  • 1

    这取决于您对该应用程序的未来计划 .
    WCF绝对是设置角色间通信的好方法,尤其是对于这些事件 .
    但是,如果您计划拥有越来越多的这些管理事件(甚至可能计划安排其中一些事件,使用服务总线消息的传递调度选项),那么服务总线可能会为您提供更多这样的事情 . 如果你不需要异步,调度和扩展,那么只需去WCF祝你好运

  • 2

    除非您对Service Bus消息传递有一些非常具体的需求,否则这听起来有点过分,尤其是在您发送的消息频率非常低的情况下 . 一个非常简单的WCF服务调用就足够了 . 如果WCF服务仅保留在内部(意味着通过内部 endpoints 访问而不将其暴露给全世界),那么您甚至不必担心安全性 .

相关问题