微服务(三)Actuator监控、Spring Security、Ribbon客户端负载均衡

微服务(三)Actuator监控、Spring Security、Ribbon客户端负载均衡

前言

Eureka有个自我保护机制
这里的自我保护机制不是对eureka来说的,而是对每个服务来说。从上一篇文章中,我们知道在默认情况下,Eureka Server在一定时间内,没有接收到某个微服务心跳,会将某个微服务注销(90S)。但是当网络故障时,微服务与Server之间无法正常通信,上述行为就非常危险,因为微服务正常,不应该注销。

Eureka Server通过自我保护模式来解决整个问题,当Server在短时间内丢失过多客户端时,那么Server会进入自我保护模式,会保护注册表中的微服务不被注销掉。当网络故障恢复后,退出自我保护模式。思想:宁可保留健康的和不健康的,也不盲目注销任何健康的服务。
自我保护机制在每分钟续约数量小于客户端总数的85%时会触发保护机制。也就是说假设:服务实例数:10个,期望每分钟续约数:10 * 2=20,期望阈值:20*0.85=17,自我保护少于17时 触发。
默认是把他开启,认为是网络的抖动造成的服务不可用,可以防止错误的注销掉微服务。还有另外一种原因,服务真的不可用了,但是对于eureka来讲,不知道服务是否可用。这里用到了Actuator监控,在服务端自己控制本服务是否出现异常,再给Eureka server端。

1. Actuator监控

下面的都是在provider机器中加入。
下面是Actuator的依赖:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>

直接运行。
在这里插入图片描述

但是,spring Boot 2.0 的Actuator只暴露了health和info端点,提供的监控信息无法满足我们的需求,无法知道内存、down机的信息。所以需要在properties配置文件中额外配置一些信息,将actuator完善。

management.endpoints.web.exposure.include=*
management.endpoint.shutdown.enabled=true

在这里插入图片描述
开启手动控制,将自己的健康状态传给server。Health是UP或者DOWM传给server。

eureka.client.healthcheck.enabled=true

再编写一个测试的seervice类

@Service
public class HealthStatusService implements HealthIndicator {
   
    private Boolean status 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值