有效了解服务是否正常运行

有效了解服务是否正常运行

在典型的负载均衡器 + Tomcat 应用服务器环境中,如何有效地确定服务是否启动?

目前,负载均衡器正在对应用服务器的 /service 端点进行 TCP 检查,如果得到 200,则假定节点已启动并提供服务。但有没有有效的方法呢?

答案1

这通常是完成应用程序的 TCP 或更可能是 HTTP/S 检查的方式。

您可以提供一个始终访问关键组件和系统的 URL/端点。例如,它可以

  1. 检查是否可以访问 Web 服务器
  2. Web 服务器反向代理到应用服务器
  3. 应用服务器测试代码检查:a)数据库是否返回应返回的内容,b)缓存引擎是否正常工作,c)任何集成系统是否做出适当响应。

如果您不检查整个堆栈,那么这不是一个特别有效的健康检查。

您可以阅读 AWS Elastic Load Balancer 的工作原理健康检查,它使用了这种技术。

相关内容