• 20.Spring-Cloud中Eureka自我保护模式和@SpringCloudApplication


          默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka  Server之间无法正常通信,以上行为可能变得非常危险-----因为微服务本省其实是健康的,此时不应该注销这个微服务。

          Eureka通过“自我保护模式”来解决这个问题------当Eureka  Server节点在短时间内丢失过多客户端时(可能发生网络分区故障),那么这个节点就会进入自我保护模式。一旦进入自我保护模式,Eureka  Server就会保护服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。当网络故障恢复后,该Eureka  Server节点会自动退出自我保护模式。

          综上,自我保护模式是一种应用网络异常的安全保护措施。它是宁可同时保留所有微服务(健康的和不健康的),也不盲目注销任何健康的服务。使用自我保护模式,可以让Eureka集群更加健壮、稳定。

         在Spring Cloud中可以使用eureka.server.enable-self-preservation=false禁用自我保护模式。

    @SpringCloudApplication时一个注解的集合

    使用@SpringCloudApplication包括,Springboot注解,注册服务到注册中心注解,熔断器注解。在SpringCloud看来这是每一微服务所必须应有的三个注解,所以才推出了@SpringCloudApplication注解。

    使用@SpringCloudApplication需要进入Springboot依赖外,还需要引入下边。

      <!--将微服务注册到注册中心 -->
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <!--@SpringCloudApplication注解需要依赖的  熔断器  -->
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
    </dependency>
     

     微信公众号

     

     

  • 相关阅读:
    HDU2222 自动机(学习中)
    POJ 2289(多重匹配+二分)
    POJ 1486二分图的必要边
    二分图
    2015陕西 并查集
    Hdu2680 最短路
    函数调用约定
    用01随机函数构造[a,b]整数范围随机数
    hello
    Ubuntu 16.04 install R language
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12192883.html
Copyright © 2020-2023  润新知