kong网关 DNS-based loadbalancing 配置

kong网关负载均衡配置方式分为DNS-based loadbalancing和Ring-balancer两种,Ring-balancer方式的负载均衡配置之前已经介绍过------[Ring-balancer],今天这里主要介绍基于DNS的负载均衡配置。

DNS-based loadbalancing

当kong网关配置了dns解析器,后端服务的注册是有dns服务器完成,也就是说,kong网关会定时(ttl值)请求dns解析器,完成hostname解析。

  • DNS解析的结果为A记录
    A记录包含一个或多个IP地址。 因此,当主机名解析为A记录时,每个后端服务必须具有自己的IP地址。由于没有重量信息,所有服务在负载均衡器中将被视为相等加权,并且平衡器将执行直接循环。
  • DNS解析的结果为srv记录
    后端服务可以通过IP地址和端口号的唯一组合来识别。 因此,单个IP地址可以在不同端口上托管同一服务的多个实例。由于权重信息可用,每个条目将在负载均衡器中获得自己的权重,并且它将执行加权循环。同样,任何给定的端口信息都将被来自DNS服务器的端口信息覆盖。
    说人话就是如果你在kong网关配置的hostname在dns服务器中解析为A类型,解析结果只包含ip,kong网关会用这个ip+service中配置的port来完成负载。 如果解析为SRV类型。解析结果包含ip+post,附加的还有weight,ttl值,kong网关会用这里的ip+port+weight完成负载。每个ttl秒时间,会请求一次dns服务器。在这个中间中kong网关会从缓存得到上次请求的信息,完成负载。

kong.config配置

在这里插入图片描述

  • dns_resolver:配置dns解析器的地址。这里我配置coreDNS的地址
  • dns_hostsfile :指定host文件,只在kong网关启动时加载,修改后要reload
  • dns_order:这里是解析的顺序
    The last successful type previously resolved ---------- 上次解析成功的记录
    SRV record
    A record
    CNAME record ---------- 相当于别名
    换句话说,当给定的hostname解析的结果既包含SRV又有A时,会通过SRV完成路由。
  • dns_stale_ttl :这个值将在后台获取新的DNS记录时使用。具体不详。
  • dns_no_sync:我的理解是如果为true,将会在缓存没有命中时查询dns解析器,当为false时,相同类型的多个会hostname会请求一次dns解析器。
    相关例子将在另一篇贴出来
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值