我开发了一个侦听特定端口的TCP服务器应用程序。 我的一位用户询问我的应用程序是否可以在主动 – 主动Windows 2008 Enterprise群集上运行。 几乎没有经验的Windows群集,我google了,并知道故障转移将微软应用程序,如IIS和SQL Server,但我想知道如果自定义TCP应用程序相同的作品。
首先,我知道客户端将连接到虚拟IP地址而不是节点的物理IP地址,如果某个特定节点closures,Windows群集会自动将任何连接请求redirect到其他节点。
但如果只有我的TCP服务器应用程序挂起并停止响应(但Windows仍在工作)的情况下,将故障转移仍然工作? 如果发生严重的应用程序故障,我也可能有意要拒绝客户端连接。
我将不胜感激任何指针,谢谢。
是的,您可以在Windows群集中设置您的自定义应用程序。 但是,这不是你的用户所问的。 Windows群集不是主动/主动群集configuration。 Windows群集只支持故障转移不能扩展。 对于在多个服务器上同时运行服务的横向扩展解决scheme,需要在应用程序前面使用某种负载平衡器来将请求路由到正在运行软件应用程序的服务器之一。 负载均衡器可以是硬件负载均衡器,如Cisco,F5等,也可以是Windows负载均衡器服务等软件包。
所有这些…
如果您在Windows群集中安装了应用程序,它将保持运行在同一台物理机器上,直到软件崩溃,Windows群集尝试在同一台机器上重新启动它,或者将其移动到群集中的另一台机器上取决于你如何configuration。 Windows群集服务不监视你的软件正在做什么,你的软件可能会整天拒绝会话,Windows群集会认为这是完全正常的。