我有一个第三方现成的 Windows 应用程序需要连接到安装在另一台服务器上的 Web 服务(IP 地址或 URL)(实际上在 Windows 7 Professional 上运行)。
我的用户希望我实施故障转移解决方案,如果主 Web 服务器无法响应,第 3 方应用程序将自动连接到备用服务器。
有没有办法在不实施集群(硬件或 Windows NLB)的情况下实现这一点?
更新:请注意——我不希望在服务器端实现负载平衡器。
我有一个第三方现成的 Windows 应用程序需要连接到安装在另一台服务器上的 Web 服务(IP 地址或 URL)(实际上在 Windows 7 Professional 上运行)。
我的用户希望我实施故障转移解决方案,如果主 Web 服务器无法响应,第 3 方应用程序将自动连接到备用服务器。
有没有办法在不实施集群(硬件或 Windows NLB)的情况下实现这一点?
更新:请注意——我不希望在服务器端实现负载平衡器。
当然,
Windows NLB
还有一个hardware loadbalancers
(例如loadbalancer.org)专为这项工作而设计。您可以在那里找到主要使用 Linux/Unix 的免费替代品。
不,你的问题是关闭的,因为它是在说“我需要更换梅赛德斯的轮胎”。这是辆车。Web 服务故障转移没有什么特别的 Web 服务,我们在这里基本上谈论 TCP 连接。
问题在于,对于故障转移,必须更改对特定 IP 做出反应的机器 - 无需更改 IP(因为会导致它的 DNS 查找被缓存,如果有的话,然后在客户端机器上并且故障转移必须快速发生,所以缓存妨碍)。
所以,你需要某种集群解决方案。这是问题的本质。始终是软件 - 绝不是硬件,没有硬件可以做到这一点。看,您购买的设备也运行软件;)
NLB 已经足够完美了。机器“集群”有一个特殊的 IP,它们都对 Web 服务的服务做出反应,并且它们有一个不错的故障转移机制。
抱歉,没有办法解决这个问题。有“穷人”故障转移(DNS 更新),但正如我所说 - 它也有客户端缓存的时间问题。
您可以
reverse proxy
在其上实现一个client
,然后连接到您的backend servers
. 当一个服务器出现故障时,这应该能够重定向到工作服务器。