一:Eureka自我保护
通过Renew来判断这个微服务是否可用(通过发送心跳来判断我们的微服务是否可用)
我把serveice-product服务关了:(底下的红字就是提示信息,它将这个service-product保护了起来,提示我们去检查这个服务)
server: port: 8763 #端口 spring: application: name: eureka-server #应用名称 # 配置 Eureka Server 注册中心 eureka: server: enable-self-preservation: false #true: 开启自我保护模式, false :关闭自我保护模式 eviction-interval-timer-in-ms: 60000 #清理间隔(单位:毫秒,默认是60*1000) instance: hostname: eureka03 #主机名,不配置的时候根据操作系统的主机名获取 prefer-ip-address: true #是否使用ip地址注册 instance-id: ${spring.cloud.client.ip-address}:${server.port} #ip port client: service-url: #注册中心对外暴露的注册地址 defaultZone: http://localhost:8761/eureka/
eureka: server: enable-self-preservation: false # true:开启自我保护模式,false:关闭自我保护模式 eviction-interval-timer-in-ms: 60000 # 清理间隔(单位:毫秒,默认是 60*1000)
此时我关闭了service-product服务后(过一段时间):直接将我们的service-product下了
二:优雅停服
(如果我们下线了就会给我们的注册中心发送信息,告诉下线了,从服务列表将我们这个服务剔除)
我们上面说的关闭保护功能,现在我们有了优雅停服就能区别是网络问题还是我们故意关闭服务。 所以有了优雅停服就不需要关闭保护功能
<!-- spring boot actuator 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
配置:
server: port: 7070 #端口 spring: application: name: service-product #应用名称(集群下相同) #配置 Eureka Server 注册中心 eureka: instance: prefer-ip-address: true #是否使用ip地址注册 instance-id: ${spring.cloud.client.ip-address}:${server.port} # ip ; port client: service-url: #设置服务注册中心地址 defaultZone: http://localhost:8761/eureka #度量指标监控与健康检查 management: endpoints: web: exposure: include: shutdowm #开启shutdown 端点访问 endpoint: shutdown: enabled: true #开启shutdownn 实现优雅停服
一般的没有下面这个endpoint,这个是强调,一般不能将这个停了,所以这里进行了确认
开启:
三:Eureka安全认证
我们访问Eureka列表的时候是要有安全认证的,还有就是我们将服务注册到Eureka的时候也是要进行安全认证的
①添加依赖(添加到我们的Eureka中)
<!-- spring boot security 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
②配置文件
spring: # 安全认证 security: user: name: root password: 123456
③启动俩个Eureka(这个时候俩个都有错(自己也整了半天))
这个上面也是没有注册上去:
为什么会出现上面的问题呢? 就是CSRF过滤
④过滤CSRF
这样就ok了:
这个时候开启我们的生产者和消费者(都是可以的):
SpringCloud(7)Eureka自我保护,Eureka优雅停服,Eureka安全认证
原文:https://www.cnblogs.com/iLisa/p/14931941.html