使用MSMQ的邮件系统(la MassTransit)的客户端要求?

Jay*_*Jay 4 messaging msmq client-server masstransit message-queue

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

我正在设计一个客户端/服务器解决方案,它将与遗留系统集成,而且我会通过消息传递出售.我想使用像MassTransit这样的服务总线实现,但这需要MSMQ.

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

我不认为我向管理员密码管理员销售此产品的前景非常好.

现在我可以可靠地期望每台客户机都安装了Windows XP Professional,但这可能会改变,我的理解是默认情况下不会在更新的操作系统上安装MSMQ,这将是一个更大的麻烦.

任何人都可以为我阐明这是如何工作的吗?我无法想象任何商业软件如何依赖MSMQ,除非我遗漏了一些重要的东西(我希望我是).

(服务器不是问题 - 我完全可以控制它.)

Chr*_*son 5

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

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

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