zoukankan      html  css  js  c++  java
  • 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>
     

     微信公众号

     

     

  • 相关阅读:
    spring 注解学习 一 Bean的注入
    jdk动态代理详解 二 代理失效
    jdk动态代理详解 一 入门
    tomcat中web应用的目录结构
    mongoose与mongodb 的版本兼容性表格
    树莓派3B安装ffmpeg过程记录
    ESP8266驱动SSD1306 ESP8266 for Arduino(NodeMCU U8G2库)
    ESP8266 for Arduino开发环境安装
    Mongodb3.4升张到4.0过程
    使用webgl(three.js)创建自动化抽象化3D机房,3D机房模块详细介绍(抽象版一)
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12192883.html
Copyright © 2011-2022 走看看