SpringCloud(四)将服务注册至Eureka服务中心

文章内索引
[显示]

eureka服务的客户端可以基于正常的springboot服务,只需要引入eureka-discovery。

Quick Start

可以通过 http://start.spring.io/ 快速创建项目,通过关键字Eureka Discovery关键字,快速创建基于eurekaServer的客户端(对外提供的服务)。

pom文件

代码

在Restful服务中添加@EnableDiscoveryClient注册,将服务注册至Eureka服务中心。

启动服务后,再次访问 http://localhost:8761/,会发现服务已经注册至注册中心。此处的我分别使用了8001、8002、8003启动了3个服务。

SpringCloud(四)将服务注册至Eureka服务中心|eureka-翰林小院

出现红色警告信息

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

原因:自我保护机制。Eureka Server在运行期间,会统计心跳失败的比例(Rennews last min)是否低于阈值(Rennews threshold),如果出现低于的情况(在单机调试的时候很容易满足,实际在生产环境上通常是由于网络不稳定导致),Eureka Server会将当前的实例注册信息保护起来,同时提示这个警告。

参考这篇文章

https://stackoverflow.com/questions/33921557/understanding-spring-cloud-eureka-server-self-preservation-and-renew-threshold

解决:

将统计心跳失败比例的阈值由默认的85%设置为49%,因为当单独启动一个Eureka服务器时,阈值将为0。

eureka.server.renewalPercentThreshold=0.49


©版权声明:本文为【翰林小院】(huhanlin.com)原创文章,转载时请注明出处!

发表评论

电子邮件地址不会被公开。