一:Eureka Instance实例信息配置   里面的配置以"-"隔开 其实也支持驼峰命名代替"-"

首先是入门时的配置:

server:
port: 8000
eureka:
instance:
hostname: localhost # 主机名

client:
service-url:
defaultZone: http://localhost:8761/eureka # eureka服务端地址,将来客户端使用该地址和eureka进行通信
spring:
application:
name: eureka-provider # 设置当前应用的名称。将来会在eureka中Application显示。将来需要使用该名称来获取路径
这里时provider的配置 ,之前在Consumei的Controller里 输出了两个东西

结果是

 当我们在配置里加了一行 

prefer-ip-address: true
server:
port: 8000
eureka:
instance:
hostname: localhost # 主机名
prefer-ip-address: true #将当前实例的ip注册到Eureka Server里 默认是falser 也即是主机名
client:
service-url:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: eureka-provider
然后可以看到输出就变了


当我们在配置里加了一行  也就是说我们向Eureka里注册的就不是上面那个地址 就变成下面这个地址了

ip-address: 127.0.0.1
然后输出就变成

再加一行配置

instance-id: ${eureka.instance.ip-address}:${spring.application.name}:${server.port}  #3部分:ip:应用名称: 端口   设置实例的ip  web控制台显示的id

配置了之后

 二:Eureka Server 相关属性

在Instance属性里 有两个属性

自我保护机制:每隔30发送,然后得到回应,90秒内还没得到回应,就剔除,如果开启了自我保护机制,则不会剔除

清理间隔:每隔60秒扫描一次,有问题就会剔除掉

简单说就是  我期望一分钟有10次心跳包发送,实际上一分钟才4此;当上面的值比下面的大,就会开启自我保护机制。

实际续约值=开启的服务数量*2(30秒一次,一分钟两次,多少秒一次是可以通过我们设置的发送心跳间隔来改变的);

期望续约值=(n(也就是他认为当前有几个服务)+1 )*2*0.85   去掉小数 就得到了

因为自我保护机制默认是开启的,但是开发中我们希望把停掉的业务给剔除掉,所有给他设置为false,当Eureka Server这两个server属性开启后,Eureka Client 的服务就要    设置心跳发送间隔和清理间隔的时长

当关掉了自我保护机制后 就变成如下

 下面进行演示

在Eureka Server 加上对应配置

server:
port: 8761

# eureka 配置
# eureka 一共有4部分 配置
# 1. dashboard:eureka的web控制台配置
# 2. server:eureka的服务端配置
# 3. client:eureka的客户端配置
# 4. instance:eureka的实例配置
eureka:
instance:
hostname: localhost # 主机名
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka # eureka服务端地址,将来客户端使用该地址和eureka进行通信

register-with-eureka: false # 是否将自己的路径 注册到eureka上。eureka server 不需要的,eureka provider client 需要
fetch-registry: false # 是否需要从eureka中抓取路径。eureka server 不需要的,eureka consumer client 需要
server:
enable-self-preservation: false #关闭自我保护机制
eviction-interval-timer-in-ms: 3000 #检查服务的时间间隔
在Eureka Client 加上对应配置
server:
port: 8000
eureka:
instance:
hostname: localhost # 主机名
prefer-ip-address: true #将当前实例的ip注册到Eu热卡Server里
ip-address: 127.0.0.1 #设置当前实例的ip
instance-id: ${eureka.instance.ip-address}:${spring.application.name}:${server.port} #3部分:ip:应用名称: 端口 设置实例的ip web控制台显示的id
lease-expiration-duration-in-seconds: 3 #每隔3秒一次发送心跳包
lease-renewal-interval-in-seconds: 9 #如果9秒没发 就剔除服务

client:
service-url:
defaultZone: http://localhost:8761/eureka # eureka服务端地址,将来客户端使用该地址和eureka进行通信
spring:
application:
name: eureka-provider # 设置当前应用的名称。将来会在eureka中Application显示。将来需要使用该名称来获取路径
启动演示效果

当我们把server client服务停掉后 9秒后就会剔除服务

 

最新文章

  1. Python学习路程day18
  2. Laravel学习笔记(一)安装配置开发环境
  3. FTP远程文件传输命令
  4. 【bzoj1500】 noi2005—维护数列
  5. c#...的类型初始值设定项引发异常。
  6. 搭建SpringMVC+MyBatis开发框架二
  7. SQL随笔
  8. BZOJ 2120 色彩数 暴力
  9. JavaScript事件的几个细节
  10. CSS属性合写
  11. SQLite学习网址
  12. [知了堂学习笔记]_牵线Eclipse和Tomcat第一篇 —— 配置Java环境变量&&安装eclipse
  13. faultString = "java.lang.NullPointerException : null"
  14. 基于Struts+Hibernate开发过程中遇到的错误
  15. BZOJ_3940_[Usaco2015 Feb]Censoring_AC自动机
  16. 【原创】大叔问题定位分享(4)Kafka集群broker节点从zookeeper上消失
  17. spring boot 采坑
  18. Redis 错误:Failed with result 'start-limit-hit'
  19. linux systemd详解
  20. app测试之专项测试

热门文章

  1. 使用Socket实现HttpServer(一)
  2. Python入门-系统模块time
  3. 线性表(python实现)
  4. LC-54
  5. nacos集群模式搭建踩坑记录
  6. Spring 源码 (1)Spring IOC Bean 创建的整体流程
  7. 普罗米修斯!Ubuntu下prometheus监控软件安装使用
  8. 攻防世界-MISC:gif
  9. Glance基础服务运维
  10. 干货|Linux平台搭建网关服务器