zoukankan      html  css  js  c++  java
  • Spring Cloud Eureka 之常用配置解析

    【原创内容,转载、引用请注明出处】

    1. 配置项解析

    1.1 通用配置

    # 应用名称,将会显示在Eureka界面的应用名称列
    spring.application.name=config-service
    
    # 应用端口,Eureka服务端默认为:8761
    server.port=3333
    

    1.2 eureka.server前缀的配置项

    # 是否允许开启自我保护模式,缺省:true
    # 当Eureka服务器在短时间内丢失过多客户端时,自我保护模式可使服务端不再删除失去连接的客户端
    eureka.server.enable-self-preservation = false
    
    # Peer节点更新间隔,单位:毫秒
    eureka.server.peer-eureka-nodes-update-interval-ms = 
    
    # Eureka服务器清理无效节点的时间间隔,单位:毫秒,缺省:60000,即60秒
    eureka.server.eviction-interval-timer-in-ms = 60000
    

    1.3 eureka.instance前缀的配置项

    # 服务名,默认取 spring.application.name 配置值,如果没有则为 unknown
    eureka.instance.appname = eureka-client
    
    # 实例ID
    eureka.instance.instance-id = eureka-client-instance1
    
    # 应用实例主机名
    eureka.instance.hostname = localhost
    
    # 客户端在注册时使用自己的IP而不是主机名,缺省:false
    eureka.instance.prefer-ip-address = false
    
    # 应用实例IP
    eureka.instance.ip-address = 127.0.0.1
    
    # 服务失效时间,失效的服务将被剔除。单位:秒,默认:90
    eureka.instance.lease-expiration-duration-in-seconds = 90
    
    # 服务续约(心跳)频率,单位:秒,缺省30
    eureka.instance.lease-renewal-interval-in-seconds = 30
    
    # 状态页面的URL,相对路径,默认使用 HTTP 访问,如需使用 HTTPS则要使用绝对路径配置,缺省:/info
    eureka.instance.status-page-url-path = /info
    
    # 健康检查页面的URL,相对路径,默认使用 HTTP 访问,如需使用 HTTPS则要使用绝对路径配置,缺省:/health
    eureka.instance.health-check-url-path = /health
    

    1.4 eureka.client前缀

    # Eureka服务器的地址,类型为HashMap,缺省的Key为 defaultZone;缺省的Value为 http://localhost:8761/eureka
    # 如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。 
    eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka
    
    # 是否向注册中心注册自己,缺省:true
    # 一般情况下,Eureka服务端是不需要再注册自己的
    eureka.client.register-with-eureka = true
    
    # 是否从Eureka获取注册信息,缺省:true
    # 一般情况下,Eureka服务端是不需要的
    eureka.client.fetch-registry = true
    
    # 客户端拉取服务注册信息间隔,单位:秒,缺省:30
    eureka.client.registry-fetch-interval-seconds = 30
    
    # 是否启用客户端健康检查
    eureka.client.health-check.enabled = true
    
    # 
    eureka.client.eureka-service-url-poll-interval-seconds = 60
    
    # 连接Eureka服务器的超时时间,单位:秒,缺省:5
    eureka.client.eureka-server-connect-timeout-seconds = 5
    
    # 从Eureka服务器读取信息的超时时间,单位:秒,缺省:8
    eureka.client.eureka-server-read-timeout-seconds = 8
    
    # 获取实例时是否只保留状态为 UP 的实例,缺省:true
    eureka.client.filter-only-up-instances = true
    
    # Eureka服务端连接空闲时的关闭时间,单位:秒,缺省:30
    eureka.client.eureka-connection-idle-timeout-seconds = 30
    
    # 从Eureka客户端到所有Eureka服务端的连接总数,缺省:200
    eureka.client.eureka-server-total-connections = 200
    
    # 从Eureka客户端到每个Eureka服务主机的连接总数,缺省:50
    eureka.client.eureka-server-total-connections-per-host = 50
    

    2. 配置项说明

    Eureka中有一些配置项,通过查看网上的资料可以大概知道其含义,然而如果没有一个直观的指导,并不能清晰地认识他们实际的作用效果。下面通过截图对部分配置项加以解释说明。

    2.1 spring.application.name和eureka.instance.appname

    同时配置时,eureka.instance.appname优先级更高。

    如果没有配置eureka.instance.appname,则使用spring.application.name的值,如果连spring.application.name都没有配置,则取unknown

    该配置项对应Eureka界面下图红框的内容:

    2.2 eureka.instance.instance-id

    配置项eureka.instance.instance-id的值决定了下图右侧红框中的显示内容:

    如果没有设置eureka.instance.instance-id,那么显示的值将是一个由Eureka自动判断生成的编号:

    2.3 eureka.instance.prefer-ip-address、eureka.instance.hostname、eureka.instance.ip-address

    eureka.instance前缀的配置项中,这几个配置项绝对烧脑,根据周立的博客,在eureka.instance.prefer-ip-address = true时,实例优先使用eureka.instance.ip-address的值进行注册,如果没有配置eureka.instance.ip-address,则使用第一个非回环IP地址进行注册。

    此时,我们打开Eureka的界面,在实例上右键,复制链接地址;或将鼠标放在下图右上方的链接上(不点击),就可以获取实例的地址,如下图左下角,可见此时实例注册的是IP:

    而当eureka.instance.prefer-ip-address = false时,同样的方式可以查看实例注册地址采用了主机名eureka.instance.hostname的值:

    3. 配置Bean源码

    最后,对应于本文出现的配置项,Eureka中定义的源码类如下。

    eureka.server前缀的配置项

    org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
    

    eureka.instance前缀的配置项

    org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
    

    eureka.client前缀的配置项

    org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
    

    参考博文:

    周立的博客

    https://www.cnblogs.com/liaojie970/p/8807023.html

    https://www.cnblogs.com/li3807/p/7282492.html

    https://www.jianshu.com/p/c18d140ad9f6

  • 相关阅读:
    BZOJ3875 AHOI2014/JSOI2014骑士游戏(动态规划)
    Contest 9
    Contest 8
    Codeforces Round#514 Div.2 翻车记
    Contest 7
    安徽师大附中%你赛day6 T3 Hamsters [POI2010]CHO-Hamsters 解题报告
    2018.8 安徽师大附中培训游记
    安徽师大附中%你赛day5 T3 树上行走 解题报告
    安徽师大附中%你赛day4T2 演讲解题报告
    安徽师大附中%你赛day4T1 金字塔 解题报告
  • 原文地址:https://www.cnblogs.com/zyon/p/11023750.html
Copyright © 2011-2022 走看看