Eureka配置文件详解

Eureka配置文件详解

文章目录

  • Eureka配置文件详解
      • 一、Eureka instance 配置项:
      • 二、Eureka Client 配置项
      • 三、Eureka Dashboard仪表板配置项
      • 四、Eureka Server配置项
        • 4.1 server与client关联配置
        • 4.2 server 自定义实现的配置
        • 4.3 server 与 remote 关联的配置
        • 4.4 server node 与 node 之间关联的配置

Eureka配置文件详解_第1张图片
Spring Cloud Eureka为分布式系统外部化配置提供了服务器端和客户端的支持,它包括Eureka Server和Eureka Client两部分,因此Spring Cloud Eureka 配置项比较多,本文将详细讲解Eureka的配置。

一、Eureka instance 配置项:

  1. 服务注册中心实例的主机名

    eureka.instance.hostname=localhost
    
  2. 注册在Eureka服务中的应用组名

    eureka.instance.app-group-name=
    
  3. 注册在的Eureka服务中的应用名称

    eureka.instance.appname=
    
  4. 该实例注册到服务中心的唯一ID

    eureka.instance.instance-id=
    
  5. 该实例的IP地址

    eureka.instance.ip-address=
    
  6. 该实例,相较于hostname是否优先使用IP

    eureka.instance.prefer-ip-address=false
    
  7. 用于AWS平台自动扩展的与此实例关联的组名

    eureka.instance.a-s-g-name=
    
  8. 部署此实例的数据中心

    eureka.instance.data-center-info=
    
  9. 默认的地址解析顺序

    eureka.instance.default-address-resolution-order=
    
  10. 该实例的环境配置

    eureka.instance.environment=
    
  11. 初始化该实例,注册到服务中心的初始状态

    eureka.instance.initial-status=up
    
  12. 表明是否只要此实例注册到服务中心,立马就进行通信

    eureka.instance.instance-enabled-onit=true
    
  13. 该服务实例的命名空间,用于查找属性

    eureka.instance.namespace=eureka
    
  14. 该服务实例的子定义元数据,可以被服务中心接受到

    eureka.instance.metadata-map.test = test
    
  15. 服务中心删除此服务实例的等待时间(秒为单位),时间间隔为最后一次服务中心接受到的心跳时间(默认:90s)

    eureka.instance.lease-expiration-duration-in-seconds=90
    
  16. 该实例给服务中心发送心跳的间隔时间,用于表明该服务实例可用

    eureka.instance.lease-renewal-interval-in-seconds=30
    
  17. 该实例,注册服务中心,默认打开的通信数量

    eureka.instance.registry.default-open-for-traffic-count=1
    
  18. 每分钟续约次数

    eureka.instance.registry.expected-number-of-renews-per-min=1
    
  19. 该实例健康检查url,绝对路径

    eureka.instance.health-check-url=
    
  20. 该实例健康检查url,相对路径

    eureka.instance.health-check-url-path=/healt
    
  21. 该实例的主页url,绝对路径

    eureka.instance.home-page-url=
    
  22. 该实例的安全健康检查url,绝对路径

    eureka.instance.home-page-url-path=/
    
  23. https通信端口

    eureka.instance.secure-port=443
    
  24. https通信端口是否启用

    eureka.instance.secure-port-enabled=false
    
  25. 该实例的安全虚拟主机名称(https)

    eureka.instance.secure-port-enabled=false
    
  26. http通信端口

    eureka.instance.non-secure-port=80
    
  27. http通信端口是否启用

    eureka.instance.non-secure-port-enabled=true
    
  28. 该实例的安全虚拟主机名称(https)

    eureka.instance.secure-virtual-host-name=unknown
    
  29. 该实例的虚拟主机名称(http)

    eureka.instance.virtual-host-name=unknown
    
  30. 该实例的状态呈现url,绝对路径

    eureka.instance.status-page-url=
    
  31. 该实例的状态呈现url,相对路径

    eureka.instance.status-page-url-path=/status
    

二、Eureka Client 配置项

  1. 该客户端是否可用

    eureka.client.enabled=true
    
  2. 实例是否在eureka服务器上注册自己的信息以供其他服务发现,默认为true

    eureka.client.register-with-eureka=false
    
  3. 此客户端是否获取eureka服务器注册表上的注册信息,默认为true

    eureka.client.fetch-registry=false
    
  4. 是否过滤掉,非UP的实例。默认为true

    eureka.client.filter-only-up-instances=true
    
  5. 与Eureka注册服务中心的通信zone和url地址

    eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
    
  6. client连接Eureka服务端后的空闲等待时间,默认为30 秒

    eureka.client.eureka-connection-idle-timeout-seconds=30
    
  7. client连接eureka服务端的连接超时时间,默认为5秒

    eureka.client.eureka-server-connect-timeout-seconds=5
    
  8. client对服务端的读超时时长

    eureka.client.eureka-server-read-timeout-seconds=8
    
  9. client连接all eureka服务端的总连接数,默认200

    eureka.client.eureka-server-total-connections=200
    
  10. client连接eureka服务端的单机连接数量,默认50

    eureka.client.eureka-server-total-connections-per-host=50
    
  11. 执行程序指数回退刷新的相关属性,是重试延迟的最大倍数值,默认为10

    eureka.client.cache-refresh-executor-exponential-back-off-bound=10
    
  12. 执行程序缓存刷新线程池的大小,默认为5

    eureka.client.cache-refresh-executor-thread-pool-size=5
    
  13. 心跳执行程序回退相关的属性,是重试延迟的最大倍数值,默认为10

    eureka.client.heartbeat-executor-exponential-back-off-bound=10
    
  14. 心跳执行程序线程池的大小,默认为5

    心跳执行程序线程池的大小,默认为5
    
  15. 询问Eureka服务url信息变化的频率(s),默认为300秒

    eureka.client.eureka-service-url-poll-interval-seconds=300
    
  16. 最初复制实例信息到eureka服务器所需的时间(s),默认为40秒

    eureka.client.initial-instance-info-replication-interval-seconds=40
    
  17. 间隔多长时间再次复制实例信息到eureka服务器,默认为30秒

    eureka.client.instance-info-replication-interval-seconds=30
    
  18. 从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒

    eureka.client.registry-fetch-interval-seconds=30
    
  19. 获取实例所在的地区。默认为us-east-1

    eureka.client.region=us-east-1
    
  20. 实例是否使用同一zone里的eureka服务器,默认为true,理想状态下,eureka客户端与服务端是在同一zone下

    eureka.client.prefer-same-zone-eureka=true
    
  21. 获取实例所在的地区下可用性的区域列表,用逗号隔开。(AWS)

    eureka.client.availability-zones.china=defaultZone,defaultZone1,defaultZone2
    
  22. eureka服务注册表信息里的以逗号隔开的地区名单,如果不这样返回这些地区名单,则客户端启动将会出错。默认为null

    eureka.client.fetch-remote-regions-registry=
    
  23. 服务器是否能够重定向客户端请求到备份服务器。 如果设置为false,服务器将直接处理请求,如果设置为true,它可能发送HTTP重定向到客户端。默认为false

    eureka.client.allow-redirects=false
    
  24. 客户端数据接收

    eureka.client.client-data-accept=
    
  25. 增量信息是否可以提供给客户端看,默认为false

    eureka.client.disable-delta=false
    
  26. 当服务端支持压缩的情况下,是否支持从服务端获取的信息进行压缩。默认为true

    eureka.client.g-zip-content=true
    
  27. 是否记录eureka服务器和客户端之间在注册表的信息方面的差异,默认为false

    eureka.client.log-delta-diff=false
    
  28. 如果设置为true,客户端的状态更新将会点播更新到远程服务器上,默认为true

    eureka.client.on-demand-update-status-change=true
    
  29. client是否在初始化阶段强行注册到服务中心,默认为false

    eureka.client.should-enforce-registration-at-init=false
    
  30. client在shutdown的时候是否显示的注销服务从服务中心,默认为true

    eureka.client.should-unregister-on-shutdown=true
    
  31. 获取eureka服务的代理主机,默认为null

    eureka.client.proxy-host=
    
  32. 获取eureka服务的代理密码,默认为null

    eureka.client.proxy-password=
    
  33. 获取eureka服务的代理端口, 默认为null

    eureka.client.proxy-port=
    
  34. 获取eureka服务的代理用户名,默认为null

    eureka.client.proxy-user-name=
    

三、Eureka Dashboard仪表板配置项

  1. 是否启用Eureka的仪表板。默认为true

    eureka.dashboard.enabled=true
    
  2. 到Eureka仪表板的服务路径(相对于servlet路径)。默认为“/”

    eureka.dashboard.path=/
    

四、Eureka Server配置项

4.1 server与client关联配置

  1. 服务端开启自我保护模式。无论什么情况,服务端都会保持一定数量的服务。避免client与server的网络问题,而出现大量的服务被清除.

    eureka.server.enable-self-preservation=true
    
  2. 开启清除无效服务的定时任务,时间间隔。默认1分钟.

    eureka.server.eviction-interval-timer-in-ms= 60000
    
  3. 间隔多长时间,清除过期的delta数据.

    eureka.server.delta-retention-timer-interval-in-ms=0
    
  4. 过期数据,是否也提供给client.

    eureka.server.disable-delta=false
    
  5. eureka服务端是否记录client的身份header.

    eureka.server.log-identity-headers=true
    
  6. 请求频率限制器.

    eureka.server.rate-limiter-burst-size=10
    
  7. 是否开启请求频率限制器.

    eureka.server.rate-limiter-enabled=false
    
  8. 请求频率的平均值.

    eureka.server.rate-limiter-full-fetch-average-rate=100
    
  9. 是否对标准的client进行频率请求限制。如果是false,则只对非标准client进行限制.

    eureka.server.rate-limiter-throttle-standard-clients=false
    
  10. 注册服务、拉去服务列表数据的请求频率的平均值.

    eureka.server.rate-limiter-registry-fetch-average-rate=500
    
  11. 设置信任的client list.

    eureka.server.rate-limiter-privileged-clients=
    
  12. 在设置的时间范围类,期望与client续约的百分比.

    eureka.server.renewal-percent-threshold=0.85
    
  13. 多长时间更新续约的阈值.

    eureka.server.renewal-threshold-update-interval-ms=0
    
  14. 对于缓存的注册数据,多长时间过期.

    eureka.server.response-cache-auto-expiration-in-seconds=180
    
  15. 多长时间更新一次缓存中的服务注册数据.

    eureka.server.response-cache-update-interval-ms=0
    
  16. 缓存增量数据的时间,以便在检索的时候不丢失信息.

    eureka.server.retention-time-in-m-s-in-delta-queue=0
    
  17. 当时间戳不一致的时候,是否进行同步.

    eureka.server.sync-when-timestamp-differs=true
    
  18. 是否采用只读缓存策略,只读策略对于缓存的数据不会过期.

    eureka.server.use-read-only-response-cache=true
    

4.2 server 自定义实现的配置

  1. json的转换的实现类名

    eureka.server.json-codec-name=
    
  2. eureka server xml的编解码实现名称

    eureka.server.xml-codec-name=
    

4.3 server 与 remote 关联的配置

  1. 过期数据,是否也提供给远程region

    eureka.server.disable-delta-for-remote-regions=false
    
  2. 回退到远程区域中的应用程序的旧行为 (如果已配置) 如果本地区域中没有该应用程序的实例, 则将被禁用。

    eureka.server.disable-transparent-fallback-to-other-region=false
    
  3. 指示在服务器支持的情况下, 是否必须为远程区域压缩从尤里卡服务器获取的内容。

    eureka.server.g-zip-content-from-remote-region=true
    
  4. 连接eureka remote note的连接超时时间

    eureka.server.remote-region-connect-timeout-ms=1000
    
  5. remote region 应用白名单

    eureka.server.remote-region-app-whitelist.
    
  6. 连接eureka remote note的连接空闲时间

    eureka.server.remote-region-connection-idle-timeout-seconds=30
    
  7. 执行remote region 获取注册信息的请求线程池大小

    eureka.server.remote-region-fetch-thread-pool-size=20
    
  8. remote region 从对等eureka加点读取数据的超时时间

    eureka.server.remote-region-read-timeout-ms=1000
    
  9. 从remote region 获取注册信息的时间间隔

    eureka.server.remote-region-registry-fetch-interval=30
    
  10. remote region 连接eureka节点的总连接数量

    eureka.server.remote-region-total-connections=1000
    
  11. remote region 连接eureka节点的单机连接数量

    eureka.server.remote-region-total-connections-per-host=50
    
  12. remote region抓取注册信息的存储文件,而这个可靠的存储文件需要全限定名来指定

    eureka.server.remote-region-trust-store=
    
  13. remote region 储存的文件的密码

    eureka.server.remote-region-trust-store-password=
    
  14. remote region url.多个逗号隔开

    eureka.server.remote-region-urls=
    
  15. remote region url.多个逗号隔开

    eureka.server.remote-region-urls-with-name=
    

4.4 server node 与 node 之间关联的配置

  1. 发送复制数据是否在request中,总是压缩

    eureka.server.enable-replicated-request-compression=false
    
  2. 指示群集节点之间的复制是否应批处理以提高网络效率。

    eureka.server.batch-replication=false
    
  3. 允许备份到备份池的最大复制事件数量。而这个备份池负责除状态更新的其他事件。可以根据内存大小,超时和复制流量,来设置此值得大小

    eureka.server.max-elements-in-peer-replication-pool=10000
    
  4. 允许备份到状态备份池的最大复制事件数量

    eureka.server.max-elements-in-status-replication-pool=10000
    
  5. 多个服务中心相互同步信息线程的最大空闲时间

    eureka.server.max-idle-thread-age-in-minutes-for-peer-replication=15
    
  6. 状态同步线程的最大空闲时间

    eureka.server.max-idle-thread-in-minutes-age-for-status-replication=15
    
  7. 服务注册中心各个instance相互复制数据的最大线程数量

    eureka.server.max-threads-for-peer-replication=20
    
  8. 服务注册中心各个instance相互复制状态数据的最大线程数量

    eureka.server.max-threads-for-status-replication=1
    
  9. instance之间复制数据的通信时长

    eureka.server.max-time-for-replication=30000
    
  10. 正常的对等服务instance最小数量。-1表示服务中心为单节点。

    eureka.server.min-available-instances-for-peer-replication=-1
    
  11. instance之间相互复制开启的最小线程数量

    eureka.server.min-threads-for-peer-replication=5
    
  12. instance之间用于状态复制,开启的最小线程数量

    eureka.server.min-threads-for-status-replication=1
    
  13. instance之间复制数据时可以重试的次数

    eureka.server.number-of-replication-retries=5
    
  14. eureka节点间间隔多长时间更新一次数据。默认10分钟。

    eureka.server.peer-eureka-nodes-update-interval-ms=600000
    
  15. eureka服务状态的相互更新的时间间隔。

    eureka.server.peer-eureka-status-refresh-time-interval-ms=0
    
  16. eureka对等节点间连接超时时间

    eureka.server.peer-node-connect-timeout-ms=200
    
  17. eureka对等节点连接后的空闲时间

    eureka.server.peer-node-connection-idle-timeout-seconds=30
    
  18. 节点间的读数据连接超时时间

    eureka.server.peer-node-read-timeout-ms=200
    
  19. eureka server 节点间连接的总共最大数量

    eureka.server.peer-node-total-connections=1000
    
  20. eureka server 节点间连接的单机最大数量

    eureka.server.peer-node-total-connections-per-host=10
    
  21. 在服务节点启动时,eureka尝试获取注册信息的次数

    eureka.server.registry-sync-retries=
    
  22. 在服务节点启动时,eureka多次尝试获取注册信息的间隔时间

    eureka.server.registry-sync-retry-wait-ms=
    
  23. 当eureka server启动的时候,不能从对等节点获取instance注册信息的情况,应等待多长时间。

    eureka.server.wait-time-in-ms-when-sync-empty=0
    

你可能感兴趣的:(Spring,Cloud,eureka,spring,cloud,java)