美文网首页
健康检查接口说明

健康检查接口说明

作者: 一瓶多先生 | 来源:发表于2020-11-07 16:05 被阅读0次

健康检查接口用来判定运行在某一个节点上的服务是否可用,负载均衡或者是监控服务会通过对这个接口返回结果判定是否分配流量或者报警。

健康检查接口最关键的在于HTTP返回代码,如果200代表一切正常,如果不是200则说明该节点上的服务是完全不可用的,附加的信息只是为了辅助诊断造成服务不可用的根源。代码不是200的情况分成两大类,第一类是接口检查代码运行完毕之后发现有问题的,这个时候返回的是503,同时有附加的不可用的具体内容,通过返回的信息来直接定位问题根源;第二类是健康检查接口根本就运行不了的(比如说服务死掉,端口占满导致代码发起不了检查等等),这种情况返回的代码可能是0或者其他不是200的代码。不管是哪种类型的不可用在负载均衡或者监控程序看来结果都是一样的:负载均衡不再给节点分配流量,报警程序发出警告信息。

健康检查接口执行内容

下面端口检查项目列表不是每一个都是必须的,选择是否实现的依据在于看检查项目存在问题的时候会不会造成服务不可用,如果答案是会,那就需要做检查,如果不会,就可以跳过不检查。

  • 内部关键对象初始化检查
  • 数据库可达性检查,包括Redis, Memcache, MongoDB, MySQL等等
  • 其他所依赖的基础服务的可达性检查,队列等等服务
  • 关键数据表或者数据内容检查
  • 调用第三方服务的可用性检查

接口统一路径为:{ip}:{port}/{prefix}/healthcheck

接口返回HTTP代码

  • 接口一切正常返回为:200
  • 接口健康检查接口有问题返回为:503

返回信息

返回信息为json格式,包含如下内容:

  • status: 返回状态,为OK或者ERROR
  • message: 不健康信息的内容
  • name: 服务/接口名称
  • host: 运行服务的主机名
  • ip: 主机IP地址

正常返回示例:

curlhttp://xxx.xxx.xxx/healthcheck

< HTTP/1.1 200
< Date: Mon, 23 Jan 2017 05:29:53 GMT
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
<
{
  "status": "OK",              // 返回状态 OK 或者 ERROR
  "message": "",               // 返回错误消息内容
  "name": "app_01",            // 服务/接口名称
  "host": "xxx.xxx.xxx",       // 运行服务的主机名
  "ip": "10.0.0.0"             // 主机IP地址
}

错误返回示例:

< HTTP/1.1 503
< Date: Mon, 23 Jan 2017 05:31:13 GMT
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
<
{
  "status": "ERROR",              // 返回状态 OK 或者 ERROR
  "message": "获取MySQL连接失败",   // 返回错误消息内容
  "name": "app_01",               // 服务/接口名称
  "host": "xxx.xxx.xxx",          // 运行服务的主机名
  "ip": "10.0.0.0"                // 主机IP地址
}

相关文章

  • 健康检查接口说明

    健康检查接口用来判定运行在某一个节点上的服务是否可用,负载均衡或者是监控服务会通过对这个接口返回结果判定是否分配流...

  • zabbix配置Web scenarios遇到的问题

    背景: 后台采用dubbox, 提供了http接口。为方便日常工作,使用zabbix对后台接口做健康检查。 上周采...

  • /healthz 命名的由来

    背景 在 Kubernetes 的生态中,习惯使用 /healthz 作为健康检查的接口。例如,下面为 kuber...

  • 健康检查接口码/actuator/info接口

    pom文件 de.codecentric spri...

  • Java基础-String笔记

    类结构说明 1: 实现序列化接口,自然排序接口 字符序列接口 常用方法说明

  • NGINX ngx_http_upstream模块说明

    首先,NGINX负载均衡指定后端节点 然后是官方文档中关于健康检查的说明: Reverse proxy imple...

  • X直播新版API文档

    X直播 App API 接口 接口修改说明 目录 [TOC] 接口文档概要说明 文档是《X直播平台接口通讯协议》的...

  • 进程守护工具对比方案

    进程守护工具调研 调研目标 支持进程守护 针对健康检查接口守护 调研工具 部分特性对比: 由上特性对比排除使用sy...

  • 景区助手前台API接口文档

    景区助手 1. 景点信息接口 接口调用请求说明 返回结果 JSON示例 参数说明 2. 景点banner接口 ...

  • 接口域名说明

    公众平台接口域名说明 开发者可以根据自己的服务器部署情况,选择最佳的接入点(延时更低,稳定性更高)。除此之外,可以...

网友评论

      本文标题:健康检查接口说明

      本文链接:https://www.haomeiwen.com/subject/fixqbktx.html