对于Grails应用程序,我们的负载均衡器使用健康检查控制器URL来确定应用程序是否健康。如果运行状况检查端点认为应用程序运行正常,则会返回200状态代码,并将应用程序放入池中。
应用程序的主要入口点是登录控制器URL。
在部署应用程序时,我们发现健康检查URL在登录页面实际可用之前大约一分钟可用的问题。这是一个问题,因为负载均衡器会在用户实际访问登录页面之前将应用程序放入池中。
为什么一个控制器端点比另一个更快地可用?
我尝试通过在运行状况检查页面中向登录页面添加同步请求来解决问题,作为运行状况检查的一部分,指示运行状况检查中对登录页面的响应为200时的运行状况。但即使对于在此解决方案中,健康检查响应在直接调用登录页面响应之前大约5秒仍然可用。即,在直接调用第二个控制器工作之前,调用一个对第二个控制器进行单独调用的控制器。
我不确定如何调试此计时问题。有什么想法吗?