Eureka属性配置

一: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秒后就会剔除服务

 

 

 

 

 
posted @   超级大菜鸡  阅读(1648)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示