SpringCloud(十七)Eureka详细参数配置

首先看一下eureka client的配置:

 
 
server:
  port: 8081
eureka:
  client:
    service-url:
     # 注册地址
      default-url: http://localhost:8761/eureka
    register-with-eureka: true
    fetch-registry: true
    #多久拉取服务注册信息 s
    registry-fetch-interval-seconds: 20
  instance:
    # 10s未收到心跳,剔除instance 要比心跳时间大
    lease-expiration-duration-in-seconds: 10
    # 心跳时间
    lease-renewal-interval-in-seconds: 5
    prefer-ip-address: false
    ip-address: 127.0.0.1
    hostname: xuhaixing-pc
    instance-id: ${spring.cloud.client.hostname}:${spring.application.name}${random.int}:${server.port}
spring:
  application:
    # 以后的服务与服务之间相互调用一般都是根据这个name
    name: eureka-client1

default-url: 注册到eureka 的地址

register-with-eureka:是否注册到eureka

fetch-registry:是否拉去注册信息

registry-fetch-interval-seconds:多久拉取一次注册信息 默认单位 秒,默认是30

lease-expiraton-duration-in-seconds:多少秒未收到心跳,剔除这个服务的时间,默认是90,如果值太大,可能转发过去的时候,服务已经down了,如果值太小,可能是临时的网络问题,服务就被剔除了,这个值要比心跳时间大。

lease-renewal-interval-in-seconds:心跳时间,默认是30,表示eureka client向eureka server发送心跳的时间

prefer-ip-address:是否使用ip地址注册,否则用主机名,若没有设置ip-address属性,则使用环路ip外的一个ip,默认是false

ip-address:自己设置ip地址

hostname:主机名

instance-id:用来区分服务中,不同实例的唯一标志,也就是下图status中的名称

下面图,用的主机名,看箭头:




eureka-server的配置:

server:
  port: 8761
eureka:
  instance:
    # 主机名
    hostname: localhost
  client:
    # 单节点时没必要注册
    # 注册到eureka
    register-with-eureka: false
    # 获取注册信息
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
  server:
    # 关闭自我保护
    enable-self-preservation: false
    # 清理时间间隔
    eviction-interval-timer-in-ms: 60000

enable-self-preservation:关闭自我保护,是为了能够及时剔除,在一定时间内未收到心跳的服务

eviction-interval-timer-in-ms:清理服务的间隔时间 单位是ms


自我保护模式:

    当网络分区发生故障时,eureka client无法发送心跳至eureka server,但是eureka client本身并没有问题,自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。自我保护机制的工作机制是如果在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制,此时会出现以下几种情况:

1、Eureka Server不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。

2、Eureka Server仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上,保证当前节点依然可用。

3、当网络稳定时,当前Eureka Server新的注册信息会被同步到其它节点中。

它宁可保留所有微服务,健康的与不健康的,也不盲目注销微服务,在开发环境下,若需要及时剔除连接不上的为服务,需要关闭自我保护模式,然后调整心跳时间与服务过期时间。


我的git代码地址   springcloud\springcloud1-1-eureka工程目录下





猜你喜欢

转载自blog.csdn.net/u012326462/article/details/81052387