服务器关闭时的超时映像,以防止集群过载



这是一个比较复杂的情况。我们在haproxy后面的16台负载均衡服务器上提供应用程序。我们从另一台运行nginx的服务器提供与应用程序相关的图像,该服务器也位于haproxy负载均衡器后面。我们有一个全局CDN,从这个图像服务器提取图像并缓存它们以供将来服务,所以这个服务器上的负载非常低,即使我们处理3亿张左右的图像。

昨天,我们必须为映像服务器交换raid阵列中的一个驱动器。当我们关闭它时,我们当然希望我们的一些图像不再加载,但是我们遇到了一个更严重的问题。到应用服务器的连接急剧增加,我们的集群中没有任何东西可以提供服务。我的想法是,应用程序请求进入负载均衡器,击中应用程序服务器并挂在那里,同时等待图像服务。由于服务器关闭,请求继续进入,整个系统被锁定。

我显然希望将来避免这种情况。对于我们可能需要在哪里设置一个合理的超时,或者如何在负载平衡器上处理它,有什么建议吗?如果发生这种情况,我希望我们的应用程序像往常一样加载,只是没有图像。

你应该看看——

    timeout server 50000
    timeout client 50000

将这些设置得低通常是一个坏主意,因为它只有在"超时连接"建立后才会发生。但是,降低它们将调整已建立连接的超时值。

也可以调优

    timeout http-request

将调整等待HTTP请求的最长时间

最新更新