Kong网关upstream健康检查机制

本文详细介绍了Kong网关的upstream概念及其作用,包括健康检查、判定target和upstream健康的方法,以及主动和被动健康检查的差异。Kong通过健康检查实现负载均衡、熔断等功能,确保服务稳定。同时,文章提供了启用和禁用健康检查的配置说明,强调了正确配置健康检查的重要性。
摘要由CSDN通过智能技术生成

目录

 

upstream概念及作用

健康检查

健康检查方式

判定target是否健康

判定upstreams是否健康

两种康检查的区别

启用和禁用健康检查

禁用健康检查

使用总结


upstream概念及作用

upstream是Kong网关将流量转发到的多个target的集合,target可以是域名、ip,不同target可以有不同的port,且可分配不同的权重。通过使用upstream,Kong网关提供如下功能:

  • 健康检查:Kong网关以特定策略,对target进行探活探死,若target不可用,Kong会将流量转发至其它健康的target;
  • 熔断:根据健康检查的状态,对客户端请求进行熔断,防止后端级联服务雪崩;
  • 负载均衡:使用ring-blancer将客户端流量均衡负载到健康的target上。

在实际生产环境中,upstream取代service中配置的单个host,结构图如下:

 

健康检查

健康检查方式

健康检查的目的是动态地将target标记为健康或不健康的状态。每个Kong服务节点分别确定target的健康状况,不会在集群范围内同步target的健康信息。因为Kong服务节点1可成功连接到target,而此时Kong服务节点2则可能因网络原因无法连接到target,第一个Kong服务节点1将target标记为健康状态,可正常路由客户端请求,第Kong服务节点2将target标记为不健康,将流量路由到其它健康的target。

 Kong支持两种模式的健康检查,可以单独使用或结合使用:

主动检查(active checks):定期请求target的特定的HTTP或HTTPS的endpoint,根据其响应确定目标的健康状况;

被动检查(passive checks):也被称为断路器模式,该模式下Kong通过分析所代理的实时流量,根据target的响应状态确定target的健康状况。

 

判定target是否健康

Kong的两种健康检查方式都会产生用于判断target是否健康的数据,一次客户端调用可能会产生TCP错误、连接超时或产生特定的HTTP状态码,根据这些信息,Kong的健康检查程序会更新内部的相关计数器:

  • 如果target返回的状态码为“健康”状态,会增加target的“成功”计数器,并清除所有其他计数器;
  • 如果Kong和target连接失败,将增加target的“TCP失败”计数器,并清除“成功”计数器;
  • 如果Kong获取target的响应超时,将增加target的“超时”计数器,并清除“成功”计数器;
  • 如果target返回“不健
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值