gpt4 book ai didi

c# - 横向扩展WCF,如何处理回调?

转载 作者:太空狗 更新时间:2023-10-29 19:46:08 25 4
gpt4 key购买 nike

假设,我想扩展(添加更多框)某些 WCF 服务。这看起来很简单,设置负载均衡器,使用例如循环算法在多个盒子上调用 WCF 服务。

但是当 WCF 服务有回调契约时如何处理这种情况。当客户端连接到某个特定的框时,它会收到仅由此计算机 WCF 服务实例引发的事件。我希望客户端接收由组(集群)中的任何 WCF 服务实例引发的事件。

让 WCF 服务了解其他 WCF 服务实例引发的事件的最佳方法是什么?

一些想法:多播、广播、WCF NetPeerTcpBinding、订阅集群中所有 WCF 服务的单个服务器(充当事件聚合)。

更新:我成功地创建了测试系统,使用 NetPeerTCPBinding 作为跨服务器共享事件的机制。我还没有做基准测试,但我觉得 WCF P2P 对于这个象牙来说太重了,我将实现基于 UDP 广播的事件共享系统。

最佳答案

我会通过设置每个服务器都可以订阅的 MSMQ 队列来实现这一点,当发生其他服务器需要知道的事件时,该服务可以发布它。

我使用一个名为 NServiceBus 的库使整个过程变得简单。 NServiceBus 是一个功能齐全的库,它使用 MSMQ(以及其他传输)来创建发布/订阅消息传递总线,这将完全解决您的问题。它易于使用,并具有用于配置、订阅和发布的流畅界面。

稍后我会回来编辑这篇文章并提供示例,但 NServiceBus 网站上有大量文档可以帮助您在那之前入门。

关于c# - 横向扩展WCF,如何处理回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9033409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com