默认情况下,Eureka客户端是使用心跳和服务端通信来判断客户端是否存活,在某些场景下,例如MongoDB出现了异常,但是你的应用进程还是存在的,这就以为着应用可以继续通过心跳上报,保持应用自己的信息在Eureka中不被剔除掉。

Spring Boot Actuator提供了/actuator/health端点,该端点可展示应用程序的健康信息,当MongoDB异常时,/actuator/health端点的状态就会变为DOWN,由于应用本身确实处于存活状态,但是MongoDB的异常会影响某些功能,当请求达到应用之后会发生操作失败的情况。

在这种情况下,我们希望可以将健康信息传递给Eureka服务端,这样Eureka中就能及时将应用的实例信息下线,隔离正常请求,防止出错。通过配置如下内容开启健康检查:

eureka.client.healthcheck.enable=true

下面通过扩展健康检查的端点来模拟异常情况,定义一个扩展端点,将状态设置为DOWN,代码如下

import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.stereotype.Component;@Component
public class CustomHealthIndicator extends AbstractHealthIndicator {@Overrideprotected v

Eureka健康检查相关推荐

  1. Eureka 健康检查

    1.Eureka原理图 服务在Eureka 注册,然后发送心跳每30秒更新一次租约.如果客户端无法续订租,则会在90秒内将其从服务器注册表中删除.注册信息和续订将复制到群集中的所有eureka节点.来 ...

  2. 服务器状态显示down,Eureka心跳健康检查机制和Spring boot admin 节点状态一直为DOWN的排查(忽略某一个节点的健康检查)...

    运行阶段执行健康检查的目的是为了从Eureka服务器注册表中识别并删除不可访问的微服务,Eureka 服务器并不是向客户端发送心跳请求,而是反过来,Eureka 客户端将心跳发送到Eureka服务器, ...

  3. Eureka的健康检查

    一 配置 启用Eureka的健康检查,这样,应用程序就会将自己的健康状态传播到Eureka Server. 开启的方法如下,下面是电影微服务的配置: server:port: 8010 spring: ...

  4. eureka的HealthChecks(健康检查)

    eureka的默认的健康检查方式是heartbeat(心跳).但是默认的heartbeat方式只会在注册时进行向eureka server(服务注册中心)发送eureka client的健康信息.这样 ...

  5. Spring Cloud实战小贴士:健康检查

    今天在博客的交流区收到一条不错的问题,拿出来给大家分享一下.具体问题如下: 因为项目里面用到了redis集群,但并不是用spring boot的配置方式,启动后项目健康检查老是检查redis的时候状态 ...

  6. SpringBoot Admin健康检查

    Admin健康检查 admin 实现admin功能 创建客户端 主动上报的服务端 实现效果 异常通知 邮件通知 其他通知 代码地址 admin 监控检查,检查的是什么了.检查的是应用实例状态,说白了就 ...

  7. Kubernetes Pod的重启策略+健康检查(实现应用自修复);

    文章目录 1.重启策略(restartPolicy) 2.健康检查类型 3.存活.就绪探针使用方法(httpGet)如下 (1).验证存活检查 (2).验证就绪检查 4.存活.就绪探针其它使用方法 1 ...

  8. Spring Cloud Admin健康检查 邮件、钉钉群通知

    源码地址:https://github.com/muxiaonong/Spring-Cloud/tree/master/cloudadmin Admin 简介 官方文档:What is Spring ...

  9. 体检系统前端源码_给您的前端进行健康检查

    体检系统前端源码 by Ewa Mitulska-Wójcik 伊娃·米图尔斯卡(EwaMitulska-Wójcik) 给您的前端进行健康检查 (Give your Front End a Heal ...

最新文章

  1. 大数据量txt文本数据分块去重
  2. 雷达融合笔记及一些易错点总结(1)----------一线激光雷达
  3. 资深项目经理的10条项目管理心得
  4. 12864液晶驱动源码,独创中英文混合输出
  5. ffplay命令汇总
  6. 在RH6.5上安装sublime3 build3103步骤
  7. 【Flink】FLink 如果watermark水印时间超出今天会是什么问题呢
  8. ubuntu如何完全卸载和安装 Java及android环境
  9. 《BI那点儿事》数据流转换——百分比抽样、行抽样
  10. JavaIO基础学习笔记
  11. 九大背包问题专题--背包问题求方案数
  12. English:英语学习口诀(实用)
  13. 计算机中求声音传输时间公式,计算机常用计算公式汇总
  14. I/O函数 writel __raw_writel mb()/rmb()/wmb()
  15. SpringBoot的优点
  16. 简记 2022/9/2
  17. Android Q适配攻略(一)(图标适配)
  18. 我的视频拍摄和剪辑秘密|故宫
  19. 深入理解C与C++ (0.1)
  20. 【四轴飞行器】【电机部分】PWM驱动空心杯转速

热门文章

  1. 双色球大乐透开奖查询软件
  2. 常见C语言内存错误及对策
  3. 视频突破500播放量的神操作秘密
  4. 解决VS2010使用mscomm控件无法接收数据的问题【转】
  5. APC PowerChute Business Edition 安装中的vmware问题
  6. 【已解决】java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class or
  7. HDU - 1686 Oulipo
  8. 国家公务员行测数字推理常见规律
  9. C++ 语言变量的定义、声明和初始化
  10. Java SSM面试篇