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

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

Spring Cloud Eureka 之常用配置解析的更多相关文章

  1. Spring Cloud Eureka集群配置及注意事项(Greenwich版本)

    Spring Cloud Eureka集群配置及注意事项(Greenwich版本) 一·概述 Spring Cloud Netflix Eureka 是一个提供服务注册与发现的套件.服务提供者只需要将 ...

  2. Spring cloud Eureka高可用 - 配置

    个人项目源码: https://github.com/easonstudy/cloud-demo/tree/master/eureka-peer-server Window 7 修改hosts  ht ...

  3. Spring Cloud Eureka 常用配置详解,建议收藏!

    前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...

  4. Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册

    记录一下搭建 Spring Cloud 过程中踩过的一些坑,测试的东西断断续续已经弄了好多了,一直没有时间整理搭建过程,时间啊~时间~ Spring 版本 Spring Boot:2.0.6.RELE ...

  5. Spring Cloud Eureka 配置

    实例名配置       在Netflix Eureka的原生实现中,实例名采用主机名作为默认值,这样的设置使得在同一主机上无法启动多个相同的实例,所以在Spring Cloud Eureka的配置中, ...

  6. spring cloud Eureka client配置(consumer通过Eureka发起对provider的调用)

    参考:http://www.ityouknow.com/springcloud/2017/05/12/eureka-provider-constomer.html springboot版本:2.0.3 ...

  7. 第三章 服务治理:Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能.Spri ...

  8. Spring Cloud Eureka 注册,发布,调用服务

    Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,如Netflix Eureka.Consul和Zookeeper.在Spring ...

  9. Spring Cloud Eureka 自我保护机制实战分析

    前些天栈长在Java技术栈微信公众号分享过 Spring Cloud Eureka 的系列文章: Spring Cloud Eureka 自我保护机制 Spring Cloud Eureka 常用配置 ...

随机推荐

  1. 堪称教科书级别的Android音视频入门进阶学习手册,开源分享!

    概述 随着整个互联网的崛起,数据传递的形式也在不断升级变化,总的流行趋势如下: 纯文本的短信,QQ -> 空间,微博,朋友圈的图片文字结合 -> 微信语音 -> 各大直播软件 -&g ...

  2. eslint+prettier+husky+lint-staged 统一前端代码规范

    eslint+prettier+husky+lint-staged 统一前端代码规范 遵循编码规范和使用语法检测,可以很好的提高代码的可读性,可维护性,并有效的减少一些编码错误. 1.终极目标 团队中 ...

  3. 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  4. Java横向技术 网络【笔记】

    Java横向技术 网络[笔记] 计算机网络 服务器返回给客户端 http 响应包的状态码有哪几大类?302.304 分别是什么意思? ​ 状态码分为五大类: ​(1)信息性状态码(Informatio ...

  5. minio设置永久访问链接

    1.通过minio分享的链接只能支持7天. 解决方案是设置对应的bucket 可通过路径直接访问.(必须通过minio client才能设置下载策略) wget https://dl.min.io/c ...

  6. 带你从0到1实现canvas的undo和redo功能

    不知不觉又到了周末,又到了Fly写文章的日子,今天给大家介绍下一个web中很常见的功能, 就是撤销和复原这样一个功能,对于任何一个画图软件,或者是建模软件.没有撤销和复原.这不是傻了对啊吧,所以本篇文 ...

  7. 分享一份【饿了么】Java面试专家岗面试题,欢迎留言交流哦!

    前段时间有小伙伴去饿了么面试Java专家岗,记录了一面技术相关的问题,大家可以看看. 基础问题 1.数据库事务的隔离级别? 2.事务的几大特性,并谈一下实现原理 3.如何用redis实现消息的发布订阅 ...

  8. mysql导出word的表结构操作

    mysql导出word的表结构操作 1.首先准备好mysql的相关插件mysql-connector-odbc和DBExportDoc 百度网盘地址: 链接:https://pan.baidu.com ...

  9. jpa 指定字段内容按照顺序排序(orderBy when then)

    query.orderBy( criteriaBuilder.desc( criteriaBuilder.selectCase() .when(criteriaBuilder.equal(root.g ...

  10. mac Charles抓包

    手机配置http代理 1.配置iPhone或Android 的wifi配置.首先保证Mac电脑和手机是在同一个局域网内. 2.设置手机wifi配置,在HTTP代理中选择手选代理,服务器填写Mac的IP ...