以前没有使用过MSMQ,我根本不清楚使用它的客户端环境要求。

我正在设计一个客户端/服务器解决方案,它将与遗留系统集成,并且我对消息传递很感兴趣。我想使用像 MassTransit 这样的服务总线实现,但这需要 MSMQ。

我是否必须确保每台客户端 PC 上都安装了 MSMQ?

我不认为我有可能把它卖给饲养员 管理员密码 都很好。

现在,我可以可靠地预期每台客户端计算机都安装了 Windows XP Professional,但这可能会改变,而且我的理解是,在更新的操作系统上默认情况下不会安装 MSMQ,这将是一个更令人头疼的问题。

谁能为我解释一下这是如何工作的?我无法想象任何商业软件如何依赖 MSMQ,除非我遗漏了一些重要的东西(我希望我是这样)。

(服务器不是问题——我可以完全控制服务器。)

有帮助吗?

解决方案

要回答你的基本问题。是。每个PC必须拥有MSMQ服务运行。我不认为MSMQ是为一般用户类型的软件,但对于企业..服务器到服务器的通信。当然,我可能是错的,但你是问关于我的限制没有看到它是如何被用于商业软件无论是。

其他提示

ESB(甚至像 MassTransit 或 NServiceBus 这样的轻量级选项)实际上并不是为客户端/服务器通信而设计的。如果您有一个需要与后端服务通信的胖客户端应用程序,那么构建一个供客户端通信的 SOAP 和/或 REST 层可能更明智。在该服务层后面,您可以根据您的扩​​展要求在内部使用消息传递。消息传递以及缓存等其他技术对于处理高动态负载非常有用。

如果您想在客户端上进行消息传递,您可以考虑使用代理风格的消息传递系统(ActiveMQ 适合这里,它是常规的 TCP/IP 连接)并从客户端连接到它。这是一种方法,不一定是最好的方法,具体取决于您的情况。MassTransit可以使用ActiveMQ,允许您将MSMQ/ActiveMQ的编程API抽象为更通用的传输接口。

设计分布式系统时有很多选择,无论您是否需要客户端到客户端通信还是客户端到服务器通信,都可以真正帮助区分各种技术选项。

答案,从我的经验是:当使用masstransit,使用RabbitMQ的,而不是MSMQ。 CF Masstransit:它可以使用中央MSMQ服务器? (或者我应该从一开始就启动瓦特/ RabbitMQ的?)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top