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
  • 相关阅读:
    将CMD内的显示内容输出到txt文件
    上传项目到Github
    利用百度地图API,在浏览器中找到自己的位置
    操作系统相关知识
    字符串的全排列
    二维数组做函数参数、指向指针的指针做函数参数
    strstr函数与strcmp函数
    华为机试题——数组排序,且奇数存在奇数位置,偶数存在偶数位置
    单链表的建立,插入,显示,查找删除以及反转
    《深入了解 Linq to SQL》之对象的标识 —— 麦叔叔呕心呖血之作
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11383172.html
Copyright © 2011-2022 走看看