Mr *_* MP 4 .net wcf nservicebus rabbitmq apache-kafka
我已经阅读了很多有关上述三个系统的内容。但我仍然不确定该使用什么。他们似乎都完成了我所需要的:
我希望当另一个服务触发事件/命令/消息时更新客户端服务。我当前正在运行WCF服务,并且客户端服务可以主动向其他服务请求更新的数据。这应该通过消息代理/服务总线来改变。我也不关心客户端是否离线并且没有收到更新,因为当上线时它会自动获取最新数据WCF。这就是为什么我认为Kafka这是错误的方法。另一方面,我在其他公司的安全相关环境中部署了该软件。由于这是一个遗留应用程序(没有 docker 或易于部署),因此需要安装 Erlang,因此RabbitMQ无法打开所有端口。这给我留下了NServiceBus.
NServiceBus仅运行而不是常见的变体时,我是否会错过任何重要的东西RabbitMQ+NServiceBus?
似乎只要我.net专门使用堆栈,我就可以使用NServiceBus?
由于我已经必须WCF轮询更新的数据,因此您应该只发送命令来发起呼叫WCF。或者您应该直接通过消息系统发送更新的数据本身?
注:我是 NServiceBus 的制造商 Specific Software 的开发人员。如果这听起来太像广告了,我深表歉意。
因为我已经有 WCF 来轮询更新的数据
我不确定你的意思是什么。您可能已经在 MSMQ 之上使用 WCF 消息传递。这是可能的,也是一个可行的解决方案。MSMQ 是排队技术,WCF 是 MSMQ 之上的抽象。
MSMQ、RabbitMQ、Azure Service Bus、Amazon SQS 都是排队技术,尽管 MSMQ 有点不同,因为它更像是一种总线风格并且分布在机器上。
NServiceBus 是这些排队技术之上的抽象。NServiceBus 可让您专注于开发功能,而不是在单一排队技术之上编写管道代码。最重要的是,它还添加了大量附加功能。如果您决定不使用 NServiceBus,则必须自己构建其中一些功能。这完全没问题,但需要时间。
回答具体问题
transport。MSMQ 或 RabbitMQ 或任何你想要的。如果您有更多问题,请随时通过https://preferred.net/support/与我们联系