【问题标题】:Windows service Bus evaluationWindows 服务总线评估
【发布时间】:2014-04-04 20:39:09
【问题描述】:

我的管理层正在评估非 Azure Microsoft Windows 服务总线(出于安全原因,Azure 不在考虑范围内)。它将用于设置主题/订阅模型,其中包含我们构建的 netMessagingBinding 的许多 WCF 服务,所以我对此有一些基本问题。

  1. WSB 在生产环境中运行是否有任何特定的硬件要求,例如专用服务器、专用数据库等?
  2. 很容易配置 WCF 服务来监听特定主题订阅。 WCF 服务有没有办法监听多个订阅?

欣赏答案。

【问题讨论】:

    标签: wcf servicebus


    【解决方案1】:
    1. 您可以将服务组件和数据库全部安装在一台服务器上(这是默认设置)。但是,出于多种原因,我们将服务安装在专用应用服务器上,然后在现有数据库服务器上创建服务总线数据库。安装包允许您指定不同的数据库服务器。检查this article for the minimum server requirements

    2. 是的,您可以获得一项 WCF 服务来侦听多个订阅。您需要创建两个(或更多)System.ServiceModel.ServiceHost 实例,然后在一个进程中运行它们。例如,我们有一个运行两个 ServiceHost 的 Windows 服务。每个主机都在不同的队列中侦听,因此实现了不同的合同。这意味着在逻辑上对队列进行分组时,我们不需要每个队列都有新的 Windows 服务。你也可以对订阅做同样的事情。

    【讨论】:

    • 感谢您的回复和链接。管理层希望采用高可用性架构。只是好奇,您使用的是哪个版本的 WSB - 1.0 或 1.1,有什么区别?
    • 我们从 1.0 开始开发,然后在项目期间 1.1 出来了,所以我们选择了最新的。我们没有做大的比较练习,只是拿了最新的。但是,一个好处是 1.1 的 Service Bus Explorer 具有更多功能。例如死信消息重放,没有这个我们就不得不自己写。
    • ps - 为了获得高可用性,您将需要场上的更多节点(您的服务组件所在的节点)。我认为 1.1 最多允许 6 个。
    • 谢谢。问题是他们不想使用 Azure,所以如果我们坚持使用 1.1,我们可以完全放弃它还是不得不使用一些 Azure 组件(我认为是配置)?
    • 不,你不需要 azure 1.1。它完全在本地。当我说更多节点时,我的意思是在prem。
    【解决方案2】:

    对于第一个问题,您必须完成硬件大小调整练习。好消息是 WCF 服务可以垂直扩展,因此如果在处理客户端负载时出现问题,您可以添加服务器。

    要确定硬件大小,您必须估算预期负载,然后进行性能/可扩展性测试,以确定您的 serviceBus/services 的承载能力。

    你可以找到很多类似http://seroter.wordpress.com/2011/10/27/testing-out-the-new-appfabric-service-bus-relay-load-balancing/的负载测试资源

    一旦您进行负载测试并得出数字,您就可以使用像 http://msdn.microsoft.com/en-us/library/bb310550.aspx 这样的参考来进行大小调整

    【讨论】:

    • 感谢您的回复。由于不支持 WSB 中的中继,这些链接不是与 Azure SB 相关,然后与 WSB 相关吗?
    • 对不起,我之前错过了你问题的那一部分。但想法仍然是一样的。你应该进行测试。我会尝试用与 WSB 相关的链接附加答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多