我有一个使用 WCF 回调合同开发的聊天应用程序。这使用 netTcp 绑定进行客户端服务器通信。
客户端是一个 Windows 窗体应用程序,将在客户端机器(XP 或 Windows8 机器)上运行
这个 WCF 服务作为 Windows 服务托管在服务器机器中。我在服务中维护一个客户端会话列表,这将存储有关连接到服务器的每个客户端的详细信息,这个列表是静态变量。
工作流程是,每当客户端使用连接操作连接到服务器时,客户端详细信息将被添加到客户端会话列表中,服务器将使用此会话列表在需要时将消息发送回客户端。
在单服务器环境中一切正常,现在我想知道如何在负载平衡场景中处理这个问题,这意味着我有两台服务器机器,一次一台服务器将处于活动状态。如果服务器 1 发生故障,服务器 2将是活跃的。在这种情况下,如何管理我的客户端会话在两台服务器之间共享并照常工作而不打扰我的客户端?