我可以用javascript实现负载平衡吗?

我可以用javascript实现负载平衡吗?,javascript,load-balancing,Javascript,Load Balancing,我有4台服务器,每台服务器上都有相同的应用程序。我的网络负载平衡器是一个简单的循环。问题是,如果其中一个应用程序关闭,负载平衡器仍会尝试连接到它,然后向我的用户返回http错误 javascript中是否有一种方法可以调用一个服务器,如果出现错误,则调用下一个服务器 谢谢这里的真正答案必须是修复或更换负载平衡器,因为将呼叫路由到死机服务器的负载平衡器不…有用…:-) 但在回答你实际提出的问题时: 简短的回答可能是“不”,但请继续阅读 答案很长,这可能取决于“调用”的含义。如果您是指通过ajax调

我有4台服务器,每台服务器上都有相同的应用程序。我的网络负载平衡器是一个简单的循环。问题是,如果其中一个应用程序关闭,负载平衡器仍会尝试连接到它,然后向我的用户返回http错误

javascript中是否有一种方法可以调用一个服务器,如果出现错误,则调用下一个服务器


谢谢

这里的真正答案必须是修复或更换负载平衡器,因为将呼叫路由到死机服务器的负载平衡器不…有用…:-)

但在回答你实际提出的问题时:

简短的回答可能是“不”,但请继续阅读

答案很长,这可能取决于“调用”的含义。如果您是指通过ajax调用服务器,那么要做到这一点,您必须将服务器设置为支持(并要求用户使用),否则您将被SOP阻止。但是如果您这样做了,基本上就是如果您在响应对负载平衡地址的ajax调用时出错,您将使用特定的服务器地址重试

加载图像也可以做同样的事情(通过使用特定地址重试来响应
错误
事件)


但是,如果您的用户只是在跟踪指向负载平衡地址的链接或其他任何内容,那么这将无助于您,这让我们回到:这确实需要在负载平衡器级别进行修复。

根据负载平衡器的不同,如果某个主机不可用,它应该能够故障切换到其他主机。通常,您会设置一个状态页(如果是基于web的)或一个要监视的端口,如果该端口不可用,负载平衡器将自动从池中删除主机,并将所有会话传输到其他主机(同样,这假设是基于web的应用程序)

下一层将在服务器级别上进行尝试。如果这是一个基于web的应用程序,那么大多数web服务器都带有一些心跳功能,您可以使用这些功能将故障转移到其他web服务器


如果其他选项不可用,那么在客户端执行(除非您谈论的是服务器编译的JS)将是您最后的求助方式。但是,在进一步帮助之前,我们需要有关您的应用程序的更多信息。

通常LBs可以检查服务器的运行状况并将其从轮换中删除。有关的问题通常应与您遇到的特定编码问题相关。您没有发布任何代码,也没有显示这一问题的离题或过于本地化。您认为应该在JS中完成,而不是在代码中完成?您试图以错误的方式解决问题。