我有一个封闭的代码应用程序,需要连接到需要在 XP 或 Windows 7(桌面)上运行的 Web 服务。应用程序只能连接到一个 IP 地址。该应用程序的容量很小——每天少于 1000 个 HTTP GET。
系统流程为:客户端应用-->HTTP-->Web服务
我能做什么: 1. 在客户端机器上安装软件。2. 在Web 服务机器上安装软件。3.安装网络小工具。
为了提供某种形式的高可用性,我希望将负载分布在 2 台物理机上,以防其中 1 台发生故障。
我知道有软件/硬件负载均衡器和开源 Linux 解决方案,但整个解决方案的硬件预算只有 3000 美元,因此硬件负载均衡器的成本不得超过 1500 美元(为 2 台 PC 留下 1.5 美元), Windows 服务器 (NLB) 和虚拟机可能已经过时了。我们不能使用 Linux,因为也没有用于 Linux 专业知识的预算。也有 DNS 解决方案,但我不喜欢使用它们,因为它们很复杂而且我怀疑不太可靠。
最近,我还探索了构建包过滤应用程序的可能性,例如 WinpkFilter ( http://www.ntkernel.com/w&p.php?id=7 ) 从客户端计算机捕获 IP 数据包并自动分发2台服务器。这可能是最后的手段,因为我不想重新发明轮子。
一段时间以来,我一直在寻找解决方案,但市场上似乎没有任何解决方案。将不胜感激任何指针。谢谢你。:)
更新:
Linux NLB 已过时,但除了 Windows NLB 之外,我还可以使用基于 Windows 的解决方案。
你可以尝试 nginx - 它在 Windows 上受支持并且可以充当负载平衡器: http : //wiki.nginx.org/Main http://library.linode.com/web-servers/nginx/configuration/front-end -代理和软件负载平衡
您可以在客户端上实施反向代理,然后连接到您的后端服务器。当一个服务器出现故障时,这应该能够重定向到工作服务器。如果您对成本非常敏感,我想这也应该可以使用带有 IIS 的Windows 7 。