概述
云原生API网关对后端服务的健康检查分为主动健康检查和被动健康检查。单节点上游服务默认关闭健康检查,可通过单节点健康检查开关强制启用。
主动健康检查
主动健康检查通过预设的探针,主动探测上游节点的存活性,目前支持 HTTP、HTTPS、TCP 三种探针类型。当发往某个健康节点的若干个连续探测请求都失败时,则该节点将被标记为不健康,不健康的节点将会被网关的负载均衡器忽略,无法收到请求;若发往某个不健康的节点的连续若干个探测请求都成功,则该节点将被重新标记为健康,进而可以被代理。
主动健康检查支持的配置项
| 配置项 | 说明 |
|---|---|
| 探测类型 | 当前支持TCP、HTTP、HTTPS探测 |
| 超时时间 | 探测请求超时时间 |
| 并行数量 | 并发主动探测的最大数量 |
| 端口 | 探测的服务端口 |
| 请求路径 | 探测请求的路径,仅对HTTP和HTTPS探测有效 |
| 健康状态定义 | 对于不健康节点的探测配置,用于判断节点是否恢复健康。
|
| 不健康状态定义 | 对于健康节点的探测配置,用于判断节点是否监控。
|
被动健康检查
被动健康检查是指,通过网关接收到的上游节点的响应状态来判断对应的上游节点是否健康。相对于主动健康检查,被动健康检查的方式无需发起额外的探测请求,缺点是无法提前感知节点状态,需要有一定量的失败请求才能触发故障节点的剔除。若发向某个健康节点的若干个连续请求都被判定为失败,则该节点将被标记为不健康。
被动健康检查的配置说明
| 配置项 | 说明 |
|---|---|
| 类型 | 当前支持TCP、HTTP、HTTPS三种类型 |
| 健康状态定义 |
|
| 不健康状态定义 |
|