springCloud入门学习(五):Eureka的自我保护及健康检查-创新互联

一、Eureka的自我保护

成都创新互联专注于云和企业网站建设,响应式网站,商城网站建设。云和网站建设公司,为云和等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

默认情况下,如果Eureka server长时间接收不到来自某微服务发来的心跳,Eureka server会自动将该微服务进行注销。但是当网络分区发生故障是,服务和Eureka server之间无法正常通信,但此时的微服务是正常工作的,此时本不应该将此实例注销。

Eureka会通过自我保护机制解决这个问题。

当Eureka server短时间内丢失大量微服务客户端时,会判定为可能发生了网络分区的故障,那么这个节点就会进入自我保护模式。一旦进入该模式,Eureka server会保护服务注册表中的数据,不会进行注销任何微服务的操作。当网络故障恢复后,该Eureka server会自动退出自我保护模式。

原则:宁可同时不注销所有微服务,包括正常和不正常的,也不会注销任何一个正常的微服务。

关闭自我保护模式:

eureka:
  server:
    enable-self-preservation: false

二、Eureka的健康检查

已知当微服务持续向Eureka server发送心跳时,Eureka server才会认定这个微服务是可用状态,但这个状态并不能保证微服务真的可用。可能Eureka server与微服务之间的连接是正常的,但是微服务本身是有问题的,隶属数据源连接等会提导致微服务崩溃但并不影响微服务发送心跳。此时就需要将微服务的健康状态发送给Eureka server。

在微服务项目总作如下改动:

1、加入依赖:


   org.springframework.boot
   spring-boot-starter-actuator

2、修改yml,开启健康检查:

eureka:
  client:
    healthcheck:
      enabled: true

这样,微服务就可以将健康信息传播到Eureka server了

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:springCloud入门学习(五):Eureka的自我保护及健康检查-创新互联
地址分享:http://ybzwz.com/article/jeeje.html