使用DNS权重轮询实现业务流量灰度切换

使用DNS权重轮询实现业务流量灰度切换,第1张

A记录 ->NEW-LB 权重 10%

中间逐渐调整OLD-LB,NEW-LB流量比例,直到流量全部切到Ucloud-LB

A记录 ->NEW-LB 权重 100%

极端情况,如果在灰度切的部分DNS流量有问题,可以参考如下备选方案

kubectl get svc -n nginx-1

kubectl get svc -n nginx-2

观测流量调度和服务可用性

2021年4月20日 5:25 第一次配置权重 9:1

2021年4月21日 8:45 调整权重 9:1

2021年4月21日 3:39 调整权重 0:100

在测试环境,通过DNS配置A记录权重调整,请求流量从LB 101.36.127.247 平滑切换到 152.32.239.127,在听云平台开启任务监测 全国85个地区,模拟客户端访问业务域名, 平均可用性可达99.98,每次调整权重,可用性未出现波动

DNS轮询的优点:

零成本:只是在DNS服务器上绑定几个A记录,域名注册商一般都免费提供解析服务;

部署简单:就是在网络拓扑进行设备扩增,然后在DNS服务器上添加记录。

DNS轮询的缺点:

1、可靠性低

假设一个域名DNS轮询多台服务器,如果其中的一台服务器发生故障,那么所有的访问该服务器的请求将不会有所回应,这是任何人都不愿意看到的。即使从DNS中去掉该服务器的IP,但在Internet上,各地区电信、网通等宽带接入商将众多的DNS存放在缓存中,以节省访问时间,DNS记录全部生效需要几个小时,甚至更久。所以,尽管DNS轮询在一定程度上解决了负载均衡问题,但是却存在可靠性不高的缺点。

2、负载分配不均匀(有,但不会有那么大的影响)

DNS负载均衡采用的是简单的轮询算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。

DNS服务器是按照一定的层次结构组织的,本地DNS服务器会缓存已解析的域名到IP地址的映射,这会导致使用该DNS服务器的用户在一段时间内访问的是同一台Web服务器,导致Web服务器间的负载不均匀。此外,用户本地计算机也会缓存已解析的域名到IP地址的映射。当多个用户计算机都缓存了某个域名到IP地址的映射时,而这些用户又继续访问该域名下的网页,这时也会导致不同Web服务器间的负载分配不均匀。

负载不均匀可能导致的后果有:某几台服务器负荷很低,而另几台服务器负载很高、处理缓慢;配置高的服务器分配到的请求少,而配置低的服务器分配到的请求多。

具体是这样的,DNS解析同一个域名的时候,会指向不同的服务器,例如DNS在解析www.BAIDU.COM的时候,可能会把www.baidu.com这个域名指向192.168.1.2

192.168.1.3 192.168.1.4这些IP,当然,访问到的内容大同小异。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/777903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-22
下一篇2023-08-22

发表评论

登录后才能评论

评论列表(0条)

    保存