SpringCloud学习笔记 (7)

image-20210201152227145

主启动类

/** * @Auther: antai * @Date: 2020/05/18/10:26 * @Description: 启动之后,访问 :7001/ */ @SpringBootApplication // @EnableEurekaServer 服务端的启动类,可以接受别人注册进来~ @EnableEurekaServer public class EurekaServer_7001 { public static void main(String[] args) { SpringApplication.run(EurekaServer_7001.class,args); } }

启动成功后访问 :7001/ 得到以下页面

image-20210201152258537

2. eureka-client

调整之前创建的springlouc-provider-dept-8001

导入Eureca依赖

<!--Eureka依赖--> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.4.6.RELEASE</version> </dependency>

application中新增Eureca配置

# Eureka配置:配置服务注册中心地址 eureka: client: service-url: defaultZone: :7001/eureka/

为主启动类添加@EnableEurekaClient注解

/** * @Auther: antai * @Date: 2020/05/17/22:09 * @Description: 启动类 */ @SpringBootApplication // @EnableEurekaClient 开启Eureka客户端注解,在服务启动后自动向注册中心注册服务 @EnableEurekaClient public class DeptProvider_8001 { public static void main(String[] args) { SpringApplication.run(DeptProvider_8001.class,args); } }

先启动7001服务端后启动8001客户端进行测试,然后访问监控页:7001/ 产看结果如图,成功

image-20210201152521469

修改Eureka上的默认描述信息

# Eureka配置:配置服务注册中心地址 eureka: client: service-url: defaultZone: :7001/eureka/ instance: instance-id: springcloud-provider-dept-8001 #修改Eureka上的默认描述信息

结果如图:

image-20210201152556874

配置关于服务加载的监控信息

image-20210201152618286

pom.xml 中添加依赖

<!--actuator完善监控信息--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>

application.yml 中添加配置

# info配置 info: # 项目的名称 app.name: haust-springcloud # 公司的名称 company.name: 湖北工程学院

此时刷新监控页,点击进入

image-20210201152751479

跳转新页面显示如下内容:

image-20210201152801754

3. EureKa自我保护机制:好死不如赖活着

一句话总结就是:某时刻某一个微服务不可用,eureka不会立即清理,依旧会对该微服务的信息进行保存!

默认情况下,当eureka server在一定时间内没有收到实例的心跳,便会把该实例从注册表中删除(默认是90秒),但是,如果短时间内丢失大量的实例心跳,便会触发eureka server的自我保护机制,比如在开发测试时,需要频繁地重启微服务实例,但是我们很少会把eureka server一起重启(因为在开发过程中不会修改eureka注册中心),当一分钟内收到的心跳数大量减少时,会触发该保护机制。可以在eureka管理界面看到Renews threshold和Renews(last min),当后者(最后一分钟收到的心跳数)小于前者(心跳阈值)的时候,触发保护机制,会出现红色的警告:EMERGENCY!EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT.RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEGING EXPIRED JUST TO BE SAFE.从警告中可以看到,eureka认为虽然收不到实例的心跳,但它认为实例还是健康的,eureka会保护这些实例,不会把它们从注册表中删掉。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssppz.html