Eureka健康检查和安全配置
Eureka 健康检查
由于server和client通过心跳保持 服务状态,而只有状态为UP的服务才能被访问。看eureka界面中的status。
比如心跳一直正常,服务一直UP,但是此服务DB连不上了,无法正常提供服务。
此时,我们需要将微服务的健康状态也同步到server。只需要启动eureka的健康检查就行。这样微服务就会将自己的健康状态同步到eureka。配置如下即可。
eureka.client.healthcheck.enabled=true
可以改变服务的状态,只需实现HealthIndicator接口即可。需要添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
HealthStatusService
@Service public class HealthStatusService implements HealthIndicator { private Boolean status = true; public void setStatus(Boolean status) { this.status = status; } @Override public Health health() { if (status) return new Health.Builder().up().build(); return new Health.Builder().down().build(); } public String getStatus() { return this.status.toString(); } }
测试Controller:
@GetMapping("/health") public String health(@RequestParam("status") Boolean status) { healthStatusSrv.setStatus(status); return healthStatusSrv.getStatus(); }
访问http://localhost:8001/health?status=false,在访问http://localhost:8761/,等待30秒左右即可看到:

consumer服务的状态变为down。
访问http://localhost:8001/health?status=true,在访问http://localhost:8761/,等待30秒左右即可看到:

可以通过这种方式控制服务的状态。
安全配置
如果Eureka Service加入了Spring Security依赖,那么客户端访问的时候必须携带用户名和密码。比如:eureka.client.service-url.defaultZone=http://user:123@localhost:8761/eureka/。
并且Eureka Service必须关闭Spring Security的csrf配置:
@Configuration @EnableWebSecurity public class MySecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); super.configure(http); } }
否则注册服务会报错。
相关知识
Eureka心跳健康检查机制
Eureka自我保护机制、健康检查的作用、actuator模块监控
Eureka心跳健康检查机制与自我保护机制
揭秘微服务健康检查:如何保障系统稳定运行的关键一步
健康检查配置
为本地IDC和VBR配置健康检查
VPN 连接 配置健康检查
nginx配置后端服务健康检查 nginx健康检查模块
容器启动健康检查的配置 – PingCode
配置健康检查探测物理专线连通性
网址: Eureka健康检查和安全配置 https://www.trfsz.com/newsview1393583.html
推荐资讯
- 1发朋友圈对老公彻底失望的心情 12775
- 2BMI体重指数计算公式是什么 11235
- 3补肾吃什么 补肾最佳食物推荐 11199
- 4性生活姿势有哪些 盘点夫妻性 10428
- 5BMI正常值范围一般是多少? 10137
- 6在线基础代谢率(BMR)计算 9652
- 7一边做饭一边躁狂怎么办 9138
- 8从出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828
