Windows Server 2003 下 Windows 服务的高可用性

Windows Server 2003 下 Windows 服务的高可用性

我有以下情况:

我需要部署一个 Windows 服务,用于侦听 TCP 端口上的传入请求(基本上是 WCF 服务)。我有一个高可用性要求 - 该服务必须部署在两台服务器上,并且如果服务在一台服务器上停止(仅服务停止,而不是整个服务器停止),则所有请求都必须重定向到第二台服务器。对我来说,这看起来像是一个基本的故障转移场景。

如何在 Windows Server 2003 上实现此目的?我应该使用 Microsoft 群集服务还是网络负载平衡?重要的是,交换服务器的过程不应涉及客户端(客户端必须仅看到单个地址/单个主机或域名)。

提前感谢你的帮助。

答案1

使用 MSCS。原因如下:

后端集群(MSCS)是集群服务的唯一方法(高可用性要求),但 NLB 和 MSCS 都允许您集群 IP 地址(在 TCP 端口上监听)。

此配置可让您同时实现这两个目标。我唯一要提醒的是,在前端(即分发网站或类似的东西)使用 MSCS 集群通常不是最佳实践;它通常用于后端文件服务器集群、sql/exchange 集群等。

答案2

NLB - 负载平衡并将无效服务从公共地址中移除。这正是它的目的。

答案3

使用网络负载平衡。最好是硬件。一些(或所有或大多数)设备可以通过发送 http 请求来监控服务器的运行状况。甚至可以发布 xml 并检查是否有正确的响应。

相关内容