从 NetMQ ZeroMQ 理解 MajorDomo 模式

Understanding the MajorDomo Pattern from NetMQ ZeroMQ

我正在尝试了解如何在 多客户端 - 单服务器环境 中的 windows 服务中使用 c# 最好地实现 MDP 示例。

我已经阅读了文档,但我仍然不清楚以下内容:

我使用的示例代码是取自此处的 MajorDomo 模式https://github.com/NetMQ/Samples

  1. 是的,MDP 环境中的所有 worker 都应该独立于请求创建,因为 broker 不应该知道如何创建它们
  2. 每个工人处理给定的 "service"(合同)。显然,每个合同都应该至少有一名工人。
    • 如果您需要并行处理请求,并且一个给定的工作人员一次只能处理一个,那么为该服务配备额外的工作人员可能是有意义的。如果涉及多台机器,通常你会这样做(水平缩放)
  3. 您可以让经纪人和工人在同一个进程中。但是,如果您只想更新一个 worker,同时关闭 broker 对客户来说可能会很烦人。我建议让 broker 成为它自己的进程,而 worker 在一个或多个其他进程中。