8 Kong 高级

基于DNS的负载均衡

注:不了解DNS负载均衡的百度一下

1.如何启用DNS均衡负载
当kong服务中的host属性不是ip,不是上游的名称,也无法被本地host解析为ip,kong便会使用基于DNS的均衡负载策略

  • Kong会优先使用DNS服务器返回的端口,即使你Kong服务设置了端口为123,但DNS返回的端口是456,那么会使用456

2.DNS解析方式
DNS有如下2中解析方式(好像不止)
1)A记录:使用轮询策略,即每条记录(IP)被解析到的概率都是相等的
2)SRV记录:每天记录具有权重,被解析的概率与权重成比

基于环形均衡器的负载均衡

当服务的host为上游对象名称时,将使用环形负载均衡。每个Kong上游对象都有一个环形均衡负载器,其在多个目标节点之间进行均衡负载

1.上游对象
1)上游对象的Slots(插槽)属性
Slots属性用于均衡负载,每个目标都会随机分布在插槽上,我们推荐每个目标都有100个插槽,如我们预期(注意,预期,即使现在只有2个目标)有8个目标,那么Slots应设置为800
2)不应修改上游对象
修改上游的成本较高,需要重新构建插槽,我们推荐删除然后添加的方式代替修改

2.目标节点
删除目标节点的最好方式是将权重设为0,Kong会在合适的时机移除目标节点

健康监测

Kong上游对象中可以开启健康监测,默认为不开启

1.健康监测类型
Kong有2中健康监测类型,选项卡Active health checks和Passive health checks分别针对主动健康监测和被动健康监测的配置
在这里插入图片描述

1)主动健康监测
Kong定期向目标节点发送请求,以此监测目标的状态,并随时更新目标节点的状态为[健康]或者[不健康],不健康状态的节点将不能参与均衡负载,主动健康监测可以将不健康的节点更新为健康状态
2)被动健康监测
Kong在转发请求过程中,通过目标返回的状态码来监测目标的状态,并随时更新目标节点的状态为[健康]或者[不健康],不健康状态的节点将不能参与均衡负载,被动健康监测只能手动更新不健康的节点为健康状态

2.开启主动健康监测
如下是主动健康监测的相关属性
在这里插入图片描述

Unhealthy HTTP failures :失败多少次被判断为不健康
Unhealthy interval:不健康的目标多久监测一次其健康状态(秒)
HTTP path:健康监测HTTP API
Timeout :连接超时时间(秒)
Healthy interval:健康的目标节点多久监测一次其健康状态(秒)
Healthy successes:成功多少次可以判断为健康

Kong集群

Kong作为微服务网关,其也是可以集群的,我们将多个kong都指向一个数据库即可完成kong的集群

1.相关配置
db_update_frequency:kong与数据库进行数据同步的时间间隔默认5秒

2.均衡负载
Kong的均衡负载可借助DNS均衡负载(需要每个kong都有独立的ip地址)或者LVS实现,后面介绍LVS均衡负载

Kong参数优化

1.reuseport(复用端口)
开启reuseport可以提高QPS(每秒查询率)(有什么弊端我不知道,书上没说明白),如下配置开启
proxy_listen = 0.0.0.0:80 reuseport, 0.0.0.0:443 ssl reuseport

2.客户端与kong服务器长连接
每次HTTP请求使用一个TCP连接为短连接,多次HTTP请求使用一个TCP连接为长连接。HTTP的Connection为keep-alive时表示使用长连接,目前HTTP 1.1 及以上默认使用长连接,如下kong的相关配置

# 单个长连接可以请求的数量
nginx_http_keepalive_requests = 100
# 长连接空闲超时时间
nginx_http_keepalive_timeout = 75s

3.Kong服务器与上游服务器长连接

# 单个长连接可以请求的数量
nginx_upstream_keepalive_requests = 100
# 长连接空闲超时时间
nginx_upstream_keepalive_timeout = 60s
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值