今天分享飞天小牛肉的文章,标题的答案是【不会】。本题的考察点其实就是 DNS 负载均衡 。
从理论上讲,一个域名是可以对应多个 IP 的,在这种情况下,当不同的用户访问该域名时,就会访问到不同的 IP 地址。
要实现一个域名对应多个 IP 地址的效果,只需要在 DNS 解析操作平台,添加一条解析记录,将网站的域名指向服务器的 IP 地址。一般情况下,一个域名对应一个 IP 地址,也就只需添加一条解析记录即可。
如我们想要将 www.itmtx.cn 这个域名分别指向 1.1.1.1(北京电信)、2.2.2.2(上海移动)、3.3.3.3(深圳联通)三个 IP。
那么我们就可以在 DNS 服务器中配置三个 A 记录,分别为:
如果现在北京用户访问 itmtx.cn 这个域名,上海用户也在访问,两个用户虽然都访问同一个域名,但访问的 IP 地址并不相同,而是会 根据 DNS 事先配置的「解析策略」将解析得到的那个 IP 地址返回给对应的访客 。
每次域名解析请求都会解析出一个不同的 IP 地址返回给访客,这样就构成了一个服务器集群,并实现负载均衡的效果。不同用户就近访问不同的服务器 IP 地址,访问速度大大提升,同时也减轻了单个服务器的访问压力。同时,由于有多个备选 IP,当其中一个出现问题时,可以通过宕机切换,提高业务可用性。
常见的 DNS 解析策略包括:
各个 DNS 解析产品可能采用的解析策略不一样,以 DNSPod 解析为例,他采用的就是权重 + 随机的策略:
基于 DNS 实现负载均衡是十分简单和有效的技术手段,它主要有以下几点优势:
但基于 DNS 的负载均衡同样也存在一些弊端:
评论留言