什么是最好的/正确的方法来设置一个负载平衡的环境对于网络的应用程序?

StackOverflow https://stackoverflow.com/questions/375787

我开发一个网应用程序,需要进行负载平衡,跨越4个网络服务器.我的公司采购负载平衡器的硬件(Cisco).有混淆在如何判断负载平衡器这一网络服务器应该是在旋转。

IT硬件支持团队的想让我来创建一个网页的网络应用程序,这将坐在旁边的主要的网络应用程序。我被告知,这个小一个网页应用程序应该打电话给数据库和做插入、更新和删除的表上。然后该程序应该返回地位代码,这反过来负载均衡将能够阅读并确定是否要保持这种网络服务器中旋转。这个程序将有居住在所有的负载平衡的服务器。一个网页应用程序,然后将接受调查,每5秒中的负载平衡器。

我认为,这听起来像一个绝对的黑客。这听起来像不必要的工作和开销上数据库。硬件的团队正在努力说服我,这是正确的路要走。我完全不同意!我的论点是,负载平衡不应该关心的数据库连接。我们只是试图分发负载的4个网络服务器.有一点要注意的是,主要的网络应用程序是无用的,没有它的数据库连接。

不负载平衡器本身具有的一种方式来确定,如果服务器应在旋转?什么是正确的方式做到这一点?

有帮助吗?

解决方案

我相信这是一个黑客。负载平衡器应该只使用一个简单的HTML页面一样JWMiller说要回负载平衡器。我们使用这种方法,我们的防空火炮所有的应用程序。 检查数据库连接,远程的服务等的应用程序的健康检查作业和应该是一个单独的函数。

其他提示

阅读 可扩展的网络架构.

平衡器可以只看到的网络服务器。如果网页的服务器出现,但是不能帮你的数据库(因为,比如说,Apache运行但你的程序是破碎的),然后你就会有一个问题与非响应的服务器获得请求时,应用程序被破坏。

我们有一个自检的应用程序,返回的一些状态。目前使用的用于调试。在未来,将用于与其他公顷,载荷分享的解决方案。

我始终把web服务器上的一个真实简单的HTML页面。如果从status.html HTTP状态回来200,然后使服务器在旋转,如果不是,暂停Web服务器。

如果您的数据库出现故障硬怎么办?而要恢复,你应该能够把上面写着“对不起,马上回来”的状态消息。你不希望有重新配置您的负载平衡器以及。有没有您的应用程序的一部分,可以在不数据库运行?

它不是一个劈,但要检查的网络服务器心跳的常用方法。然而,在该页面查询数据库是有争议的。例如,你可以在DB超时情况下在群组中没有网络服务器结束。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top