Eureka其他配置

在Eureka的后台管理中显示服务的IP

先来看看没有配置前的样子
在这里插入图片描述
这里没有显示IP,对于我们来说很是不方便,因为我们不知道是哪台机器,接下来就是显示IP和端口的设置了

eureka:
	instance:
		instance-id: ${spring.cloud.client.ip-address}:${server.port} #向注册中心中注册ip

完成后的样子:
在这里插入图片描述

Eureka的服务剔除问题

在服务注册到Eureka后,默认情况下,每隔30秒会发送一个心跳到Eureka,证明服务还活着,假如90秒还没收到心跳,Eureka会认为其已经宕机,然后Eureka中会有一个定时任务,每隔一段时间去清理一下已经被认为宕机的服务。
这样的设定是很合理的,但是在开发当中,我们需要测试,就希望时间越短越好,那么我们就需要设置一下这些时间

1.设置心跳间隔,以及续约时间

在服务提供者的yml中加上参数:

eureka:
	instance:
		lease-renewal-interval-in-seconds: 5 #心跳间隔
    	lease-expiration-duration-in-seconds: 10 #续约到期时间

设置好后可以自行测试,这里就不作展示了

2.Eureka剔除服务的时间间隔

在Eureka注册中心的yml中:

eureka:
	server:
    	eviction-interval-timer-in-ms: 4000 #剔除服务的定时任务间隔,单位毫秒

Eureka的自我保护机制

其实Eureka不会单纯得因为90秒没有收到心跳就立马剔除这个服务,Eureka其实会有一个统计,统计所有服务中,有多少没有收到,假如一共100个服务,有85%,即85个都没有收到心跳,Eureka就会开启自我保护模式。
开启自我保护模式后,就不会去剔除服务了(在后台管理页面会出现一行红色的字体)
在开发得过程中,我们一般是不需要这种保护机制的,所以我们就可以关掉:

eureka:
	server:
	    enable-self-preservation: false #关闭自我保护机制

自行测试

发布了22 篇原创文章 · 获赞 0 · 访问量 1001

猜你喜欢

转载自blog.csdn.net/weixin_43119903/article/details/104817160