zoukankan      html  css  js  c++  java
  • SpringCloud服务的注册发现--------Eureka自我保护机制

    1,Eureka 自我保护机制

    Eureka注册中心,一些服务会注册到Eureka 服务器上,例如之前的member服务,order服务。

    在网络不通的情况下,如果一个bmember 挂了,但是Eureka注册中心并不会立即将这个服务剔除,还在注册中心上显示出来。会被认为这个服务还可用。

    因此需要Eureka客户端(注册到Eureka上的服务)定时的向Eureka服务端发送心跳包,Eureka服务端没有收到心跳包,会将服务剔除。

    但是,如果短时间内,但是在短时间内丢失大量的实例心跳,这时候EurekaServer会开启自我保护机制,Eureka不会踢出该服务。

    2,但是我们在开发测试阶段,需要频繁地重启发布,如果触发了保护机制,则旧的服务实例没有被删除,这时请求有可能跑到旧的实例中,而该实例已经关闭了,这就导致请求错误,影响开发测试。所以,在开发测试阶段,我们可以把自我保护模式关闭,只需在eureka server配置文件中加上如下配置即可:

          但在生产环境,不会频繁重启,所以,一定要把自我保护机制打开,否则网络一旦中断,就无法恢复。

    3,配置

         Eureka 服务器端:即Eureka配置中心的配置

         红色部分代表关闭保护机制

    ###服务端口号
    server:
      port: 8100
    ###eureka 基本信息配置
    spring: 
     application: 
      name: eureka-server
    eureka:
      instance:
        ###注册到eurekaip地址
        hostname: 127.0.0.1
      client:
        serviceUrl:
          defaultZone: http://127.0.0.1:8200/eureka/
    ###因为是集群,注册中心也需要注册到其他的注册中心
        register-with-eureka: true
        fetch-registry: true
    # 测试时关闭自我保护机制,保证不可用服务及时踢出
        enable-self-preservation: false
        eviction-interval-timer-in-ms: 2000

         同时,注册在Eureka 注册中心上的服务也需要配置,发送心跳包

    ###服务启动端口号
    server:
      port: 8000
    ###服务名称(服务注册到eureka名称)  
    spring:
        application:
            name: app-aiyuesheng-member
    ###服务注册到eureka地址
    eureka:
      client:
        service-url:
               defaultZone: http://localhost:8100/eureka,http://localhost:8200/eureka
    ###需要注册到eureka
        register-with-eureka: true
    ####需要检索服务
        fetch-registry: true
        # 心跳检测检测与续约时间
        # 测试时将值设置设置小些,保证服务关闭后注册中心能及时踢出服务
        registry-fetch-interval-seconds: 30
      instance:
    ###Eureka客户端向服务端发送心跳的时间间隔,单位为秒(客户端告诉服务端自己会按照该规则)  
        lease-renewal-interval-in-seconds: 1
    ####Eureka服务端在收到最后一次心跳之后等待的时间上限,单位为秒,超过则剔除(客户端告诉服务端按照此规则等待自己)
        lease-expiration-duration-in-seconds: 2
  • 相关阅读:
    JS之四舍五入有小数点
    c# table 怎么在前台循环展示 ViewBag
    c# ajax从后台获取数据list数组 $.each再显示数据
    c# 快捷键
    c#_导出table功能
    c# 缓存详解
    c# url链接转成二维码图片,再转成byte[]二进制流,输出到前段ajax
    JS ajax 返回的json对象 新增属性值(干货)
    tomcat配置HTTPS
    zookeeper集群安装
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11383172.html
Copyright © 2011-2022 走看看