我在Spring云文档中读到了用于Microservices的Spring。此外,阅读尤里卡服务器将从客户端接收心跳谁注册了尤里克斯Server.But我无法理解,为什么我们有这个eureka.client.healthcheck.enabled=true。客户端每隔一段时间发送心跳,健康检查有什么用?这是服务的自定义健康检查吗?
发布于 2020-01-31 15:01:01
来自春季文档
默认情况下,Eureka使用客户端心跳来确定客户端是否已启动。除非另有规定,否则Discovery不会按照Spring 传播应用程序的当前健康检查状态。因此,注册成功后,尤里卡总是宣布申请处于“向上”状态。 此行为可以通过启用Eureka健康检查来更改,从而将应用程序状态传播到尤里卡。因此,所有其他应用程序都不会将通信量发送到其他状态下的应用程序。
此属性用于调整Eureka客户端如何向服务器报告其活动状态。
启用此属性后,客户端应用程序将向Eureka服务器发送运行状态( Actuator框架的/health端点报告的相同健康状态),服务器将使用此状态来确定服务器是否应该向其他应用程序宣传此特定应用程序的主机名/IP。
您可以使用自定义收集了哪些信息来报告/health端点的状态。
示例:您可以将health端点配置为当数据库连接故障率超过某一阈值时返回"DOWN“。在这种情况下,即使没有实际崩溃,这个应用程序也是没有用的。除了404之外,所有端点仍然返回一些HTTP代码,但是由于数据库连接失败,应用程序作为一个整体是不好的。
通过将此数据库健康检查添加到默认的运行状况聚合逻辑中,客户端将向Eureka服务器报告"DOWN“,而服务器将不会向其他应用程序/实例发布此特定应用程序/实例。
https://stackoverflow.com/questions/59975785
复制相似问题