存储架构

程序架构探讨—004 应用服务器集群的伸缩性之DNS域名解析负载均衡

微信扫一扫,分享到朋友圈

程序架构探讨—004 应用服务器集群的伸缩性之DNS域名解析负载均衡
0 0

DNS域名解析是利用DNS处理域名解析请求的同时进行负载均衡处理的一种方案。

如下图,

在DNS服务器中配置了多个记录:

www.buzhidao.com IN A 192.100.80.1、

www.buzhidao.com IN A 192.100.80.2、

www.buzhidao.com IN A 192.100.80.3。

每次请求,域名解析请求都会根据负载均衡算法计算出一个不同IP地址返回,这样A记录中配置的多个服务器就构成一个集群,并实现负载均衡。以上图为例,用户请求域名www.buzhidao.com,DNS根据A记录和负载均衡算法得到一个IP地址:192.100.80.3,返回给浏览器;浏览器根据该IP地址,访问真实物理服务器192.100.80.3.

DNS域名解析负载均衡的优点是将负载均衡的工作交给了DNS服务器,省掉了网站管理维护负载均衡服务器的麻烦,同时许多DNS还支持基于地理位置的域

名解析,也就是会将域名解析成距离用户地址位置最近的一个服务器地址,可以加快用户访问速度,提高性能。但是DNS域名解析负载均衡也有缺点,目前DNS是多级解析,每一级DNS都可能缓存A记录,当需要下线一台服务器后,即时修改了DNS的A记录,要使其生效也需要较长时间,这段时间DNS依然会将域名解析到已经下线的服务器,导致用户访问失败;而DNS负载均衡的控制一般都在域名服务商处,网站无法对其做更多改善和管理。

实际上,大型网站总是部分使用DNS域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组服务器并不是实际提供服务的物理服务器,而是同样提供负载均衡的内部服务器,这组内部服务器,再进行负载均衡,将请求分发到实际的提供服务器的服务器上。

感谢您的支持!

    Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'

    上一篇

    你可能不知道的setInterval的坑

    下一篇

    您也可能喜欢

    评论已经被关闭。

    插入图片