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

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. CVE-2020-1472

    主要记下流程 我擦,这个洞mimikatz也可以搞 但是我就不记录了 检验漏洞是否存在 https://github.com/SecuraBV/CVE-2020-1472 先获取域控信息 然后测试能否 ...

  2. Spring boot无法显示jsp页面问题汇总

    问题1: o.s.w.s.r.ResourceHttpRequestHandler:Path with "WEB-INF" or "META-INF": [WE ...

  3. 06.I/O操作

    参考文章 https://www.cnblogs.com/xuwenfeng/articles/2238127.html 1. 驱动器操作 在Windows操作系统中,存储介质统称为驱动器,硬盘由于可 ...

  4. Postman API 接口测试、Jenkin 持续集成测试

    Postman 是一个创建和使用API的应用,Postman 对于Web开发者来说非常有用,Postman 带来的便利有很多,诸如: RESTFul接口测试不依赖其他端,进度不受影响 测试脚本即文档, ...

  5. Visio操作【未完】

    Visio 1.如何操作文档 新建基本框图和空白框图 单击基本框图打开后有模具 空白框图打开之后并没有形状 左下角发现有 更改纸张方向大小 自动调整大小: 如果我们选择形状进入到我们的页面,如果放到边 ...

  6. Run Clojure Script with External Dependencies without leiningen

    The normal way of deploy clojure files is using leiningen. But if we have no leiningen, or the scrip ...

  7. const变量通过指针修改问题

    const的变量在特定情况下可以通过指针修改,但是在另一些情况下是不能通过指针修改. 以下是VC6下才测试. 1. 不能修改的情况 #include int const a = 10; void ma ...

  8. CSS 奇思妙想 | 使用 resize 实现强大的图片拖拽切换预览功能

    本文将介绍一个非常有意思的功能,使用纯 CSS 利用 resize 实现强大的图片切换预览功能.类似于这样: 思路 首先,要实现这样一个效果如果不要求可以拖拽,其实有非常多的办法. 将两张图片叠加在一 ...

  9. contos7 安装weblogic10.3 _wls1036_generic.jar

    环境:CentOS7+jdk1.8 weblogic下载地址1: http://www.oracle.com/technetwork/cn/middleware/weblogic/downloads/ ...

  10. SQL 练习37

    检索至少选修两门课程的学生学号 SELECT Student.SId,Student.Sname,选课数 from Student, (SELECT sid,COUNT(cid) 选课数 from s ...