Kong工作原理 - 健康检查和断路器 - 健康检查的类型

主动健康检查

主动健康检查(Active Health Checks)顾名思义,是通过主动探测目标的健康状况来进行检查。当在上游实体中启用主动健康检查时,Kong会定期向上游的每个目标发送HTTP或HTTPS请求,以访问配置的路径。这使得Kong能够根据探测结果自动在负载均衡器中启用或禁用目标。

主动健康检查的周期性可以分别针对目标的健康和不健康状态进行配置。如果任一状态的间隔值设置为零,则对应场景的检查被禁用。当两者都设置为零时,主动健康检查将完全被禁用。

注意:主动健康检查仅适用于HTTP/HTTPS目标。它们不适用于协议属性设置为TCP或TLS的服务分配的上游。

被动健康检查(断路器)

注意:这个功能在混合模式下不被支持。

被动健康检查,也被称为断路器,是基于Kong代理的请求进行的检查(HTTP/HTTPS/TCP),而不会生成额外的流量。当目标无响应时,被动健康检查器将检测到并将目标标记为不健康状态。环形负载均衡器将开始跳过该目标,因此不会再将流量路由到该目标。

一旦解决了目标的问题,并且可以再次接收流量时,Kong管理员可以通过Admin API端点手动通知健康检查器应该重新启用目标。

Lua 复制代码
 curl -i -X POST http://localhost:8001/upstreams/my_upstream/targets/10.1.2.3:1234/healthy

响应:

Lua 复制代码
HTTP/1.1 204 No Content

该命令将广播一个集群范围的消息,以便"健康"状态在整个Kong集群中传播。这将导致Kong节点重置运行在所有工作进程中的健康检查器的健康计数器,从而使环形负载均衡器能够再次将流量路由到目标。

被动健康检查的优点是不会产生额外的流量,但它们无法自动将目标重新标记为健康状态:断路器已打开,需要由系统管理员重新启用目标。

优点和缺点摘要

  • 主动健康检查能够在目标恢复健康时自动重新启用环形负载均衡器中的目标,而被动健康检查则不能。
  • 被动健康检查不会给目标产生额外流量,而主动健康检查会。
  • 主动健康检查需要在目标中配置一个已知URL,并要求能够可靠响应状态的端点(可以简单地为"/")。被动健康检查不需要进行此类配置。
  • 通过为主动健康检查器提供自定义的探测端点,应用程序可以确定自己的健康指标,并产生将由Kong使用的状态码。即使目标继续提供看似健康的流量,被动健康检查器也无法对主动探测作出失败的响应状态,从而请求停止接受新的流量。

可以将两种模式结合起来。例如,可以启用被动健康检查仅基于流量来监控目标的健康状况,并且只在目标处于不健康状态时使用主动健康检查,以便自动重新启用它。

相关推荐
tuokuac1 天前
依赖spring-cloud-starter-gateway与spring-cloud-gateway-dependencies的区别
java·gateway
洛克大航海2 天前
9-SpringCloud-服务网关 Gateway-高级特性之 Filter-2
java·spring cloud·gateway·filter
洛克大航海3 天前
9-SpringCloud-服务网关 Gateway-高级特性之 Filter-1
spring·spring cloud·gateway·filter
yangmf20404 天前
如何使用 INFINI Gateway 增量迁移 ES 数据
大数据·数据库·elasticsearch·搜索引擎·gateway
非凡的世界5 天前
ThinkPHP6 集成TCP长连接 GatewayWorker
网络·网络协议·tcp/ip·gateway·thinkphp·worker·workman
戮戮5 天前
一次深入排查:Spring Cloud Gateway TCP 连接复用导致 K8s 负载均衡失效
tcp/ip·spring cloud·kubernetes·gateway·负载均衡·netty
洛克大航海7 天前
7-SpringCloud-服务网关 Gateway-高级特性 Route
java·spring cloud·gateway·route
AWS官方合作商10 天前
在AWS S3上动态自定义图片尺寸:Lambda + API Gateway无服务器解决方案
serverless·gateway·aws
青鱼入云11 天前
对比nginx、kong、apisix、zuul、gateway网关
nginx·gateway·kong
唐僧洗头爱飘柔952714 天前
【SpringCloud(6)】Gateway路由网关;zuul路由;gateway实现原理和架构概念;gateway工作流程;静态转发配置
spring·spring cloud·架构·gateway·请求转发·服务降级·服务雪崩