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

存储架构 2018-09-16 阅读原文

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域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组服务器并不是实际提供服务的物理服务器,而是同样提供负载均衡的内部服务器,这组内部服务器,再进行负载均衡,将请求分发到实际的提供服务器的服务器上。

责编内容by:杨友山 【阅读原文】。感谢您的支持!

您可能感兴趣的

NGINX Brings Advanced Load Balancing for Kubernete... NGINX Plus Kubernetes Ingress Controller Enhances IBM Cloud Private to Assist Enterprises in Deploying Microservices-B...
Istio Service Mesh官方文档中文版 Istio 是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。Istio为希腊语,意思是”起航“。官方中文文档地址: https://istio.doczh.cn/ ,Istio 同时也是kubernete...
胖AP与瘦AP的区别以及胖瘦AP组网的优劣对比... 一,胖瘦AP如何区分? 无线AP通常可以分为胖AP(Fat AP)和瘦AP(Fit AP)两类,不是以外观来分辨的,而是从其工作原理和功能上来区分。当然,部分胖、瘦AP在外观上确实能分辨,比如有WAN口的一定是胖AP。 胖AP除了前...
Linux的bond模式绑定及模式区别 【Linux的bond模式配置】 原理: 多块网卡虚拟成一张,实现冗余;多张网卡对外显示一张,具有同一个IP; 工作在网卡是 混杂模式 的情况下; 对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Mas...
基于Zookeeper的服务注册与发现 大多数系统都是从一个单一系统开始起步的,随着公司业务的快速发展,这个单一系统变得越来越庞大,带来几个问题: 随着访问量的不断攀升,纯粹通过提升机器的性能来已经不能解决问题,系统无法进行有效的水平扩展 维护这个单一系统,变得...