NServiceBus:使用NServiceBus分发服务器的利弊

NServiceBus:使用NServiceBus分发服务器的利弊,nservicebus,nservicebus-distributor,Nservicebus,Nservicebus Distributor,我正在考虑使用网络负载均衡器在订户实例之间负载平衡消息,而不是使用NServiceBus分发服务器(据我所知,它基本上只是一个软件负载均衡器)。每个订阅者实例都将有一个相同名称的队列,以便将消息传递到该队列,并且将有一个虚拟IP在订阅者之间环绕robins。发布者将只知道虚拟IP和队列名称 以下是我认为这样做的利弊: 专业人士 无需安装NServiceBus分发服务器 当我们向外扩展时,少了一件需要管理/更新的事情(我们已经使用F5来平衡这些机器的负载,而我们的数据中心买家对此了如指掌) 少了

我正在考虑使用网络负载均衡器在订户实例之间负载平衡消息,而不是使用NServiceBus分发服务器(据我所知,它基本上只是一个软件负载均衡器)。每个订阅者实例都将有一个相同名称的队列,以便将消息传递到该队列,并且将有一个虚拟IP在订阅者之间环绕robins。发布者将只知道虚拟IP和队列名称

以下是我认为这样做的利弊:

  • 专业人士
    • 无需安装NServiceBus分发服务器
    • 当我们向外扩展时,少了一件需要管理/更新的事情(我们已经使用F5来平衡这些机器的负载,而我们的数据中心买家对此了如指掌)
    • 少了一个故障点(是的,NLB可能会失败,但让我们面对现实,F5将比运行在Windows上的NServiceBus分发服务器稳定得多)
    • 我们的群集MSMQ不需要群集服务器。2台服务器比只向F5添加另一个VIP要昂贵得多
  • 缺点
    • NServiceBus分发服务器允许您更轻松地查看积压的消息,因为分发服务器上有一个您可以监视的队列。这使得您很容易知道何时应该添加更多工作节点
    • NServiceBus分发服务器在控制工作线程数等方面更为智能。它比NLB提供了更多的控制?(这个不太清楚)

  • 我准确地捕捉到这个了吗?我知道建议使用NServiceBus分发服务器,在我反对该建议之前,我想知道更多的原因。

    您已经了解了一些要点,但其中一个主要区别是,由于分发服务器会自行加载,如果机器发生故障,其余的负载将分布在剩余的机器之间,对消息的SLA影响要小得多。

    您的意思是,因为消息不会被困在发生故障的节点上等待?F5是否管理事务队列负载平衡,如何将确认发送回发送方?