0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DNS解析一个地址的时候会返回多个IP吗?

jf_ro2CN3Fa 来源:飞天小牛肉 2023-09-19 17:05 次阅读

一个域名对应多个 IP

DNS 解析策略

基于 DNS 实现负载均衡的优缺点

字节二面:DNS 解析一个地址的时候会返回多个 IP 吗?

答案是不会。

本题的考察点其实就是 DNS 负载均衡。

一个域名对应多个 IP

从理论上讲,一个域名是可以对应多个 IP 的,在这种情况下,当不同的用户访问该域名时,就会访问到不同的 IP 地址。

要实现一个域名对应多个 IP 地址的效果,只需要在 DNS 解析操作平台,添加一条解析记录,将网站的域名指向服务器的 IP 地址。一般情况下,一个域名对应一个 IP 地址,也就只需添加一条解析记录即可。

如我们想要将 www.itmtx.cn 这个域名分别指向 1.1.1.1(北京电信)、2.2.2.2(上海移动)、3.3.3.3(深圳联通)三个 IP。

那么我们就可以在 DNS 服务器中配置三个 A 记录,分别为:

www.itmtx.cn IN A 114.100.20.201;

www.itmtx.cn IN A 114.100.20.202;

www.itmtx.cn IN A 114.100.20.203;

728e0e42-569f-11ee-939d-92fbcf53809c.png

如果现在北京用户访问 itmtx.cn 这个域名,上海用户也在访问,两个用户虽然都访问同一个域名,但访问的 IP 地址并不相同,而是会根据 DNS 事先配置的「解析策略」将解析得到的那个 IP 地址返回给对应的访客。

每次域名解析请求都会解析出一个不同的 IP 地址返回给访客,这样就构成了一个服务器集群,并实现负载均衡的效果。不同用户就近访问不同的服务器 IP 地址,访问速度大大提升,同时也减轻了单个服务器的访问压力。同时,由于有多个备选 IP,当其中一个出现问题时,可以通过宕机切换,提高业务可用性。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

DNS 解析策略

常见的 DNS 解析策略包括:

轮询(Round Robin):DNS 服务器按顺序返回多个IP地址,实现请求的轮流分发到不同的服务器上。

权重(Weighted):为每个 IP 地址分配不同的权重,权重越高的服务器被选中的概率越大。

响应时间(Response Time):DNS 服务器可以通过测量服务器的响应时间来选择最快的服务器,将域名解析为对应的 IP 地址。

各个 DNS 解析产品可能采用的解析策略不一样,以 DNSPod 解析为例,它采用的就是权重 + 随机的策略:

7294a89c-569f-11ee-939d-92fbcf53809c.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

基于 DNS 实现负载均衡的优缺点

基于 DNS 实现负载均衡是十分简单和有效的技术手段,它主要有以下几点优势:

将负载均衡工作交给 DNS,省去了网站管理维护负载均衡服务器的麻烦;

技术实现比较灵活,操作简单,成本低,适用于大多数 TCP/IP 应用;

对于部署在服务器上的应用来说,不需要修改任何代码就能实现不同机器上的应用访问;

很多 DNS 系统还支持基于地理位置的域名解析,可以将域名解析成距离用户地理位置最近的服务器地址,加快用户访问速度。

但基于 DNS 的负载均衡同样也存在一些弊端:

目前的 DNS 系统是需要经过递归服务器、顶级服务器、权威服务器以及众多缓存等多级解析的,在每一个环节都可能存在解析记录缓存。如果服务器 IP 发生变动,即使修改了 A 记录,也需要各级缓存失效后才能生效。而在解析生效前的这段时间,用户可能就会根据缓存记录访问到已经被更换过的服务器上,从而导致访问失败。

为了本地 DNS 服务器能够及时同步权威服务器上的最新记录,所以一般将 DNS 缓存刷新时间设置得比较小,这就会导致 DNS 频繁发起解析请求,从而造成额外的网络问题。

DNS 本身并不具备主动监测服务器负载情况或动态调整权重的能力,不能区分不同服务器之间的性能和负载差异,不能反映服务器当前的运行状态,所以一些大型网站总是使用 DNS 域名解析作为第一级负载均衡手段,然后再通过负载均衡服务器提供更高级的负载均衡算法(比如最少连接:将请求发送到拥有最少开放连接的服务器),从而完成最终请求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82528
  • DNS
    DNS
    +关注

    关注

    0

    文章

    199

    浏览量

    19604
  • 测量
    +关注

    关注

    10

    文章

    4223

    浏览量

    109740

原文标题:DNS 解析一个地址的时候会返回多个 IP 吗?

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    双线双IP(多线多IP)域名智能解析教程

    般我们只需要将网通线路解析到网通IP,其他线路(包含电信)解析到电信IP即可。 (这里是智能解析的关键。因为
    发表于 04-18 13:44

    IP地址、子网掩码、默认网关、DNS服务器、MAC地址

    就是进行域名解析的服务器 。举个例子没有IP地址就不能上网,计算机没设DNS,竟然能上QQ,却不能打开网页,QQ不需要有DNS(QQ只是
    发表于 12-15 15:49

    如何解决DNS解析错误故障

    DNS解析出现错误,就是把域名解析错误的
    发表于 09-29 15:14

    为什么我的DNS解析为0.0.0.0?

    为什么我的DNS解析为0.0.0.0?它被称为SuxChar*URL=“www. GooGl.com”;IPNS4ADDR ADDR;DNSRES= TCPIPSY-DNSUBION解析(URL
    发表于 01-17 13:36

    DNS View视图怎么实现

    DNS视图能够智能地自动判断访问者的IP地址,然后根据不同的访问者把域名分别解析成不同的IP地址
    发表于 07-31 12:38

    使用JavaScript代码在Rapid板子上实现DNS解析域名得到IP地址操作分享!

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的分布式数据库,能够使用户更方便的访问互联网
    发表于 08-15 04:17

    DNS攻击防范科普系列1》—你的DNS服务器真的安全么?

    DNS服务器造成哪些威胁。DNS劫持是指攻击者在劫持的网络范围内拦截域名解析的请求,篡改了某个域名的解析结果。比如用户本来想访问www.
    发表于 10-16 15:21

    基于imx6网络可以ping通ip但是没有办法ping通域名解决办法

    顺序和DNS服务器的地址,每行应包含关键字和
    发表于 10-30 09:59

    dns地址如何查询

    DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址IP address)转换的服务器。
    发表于 01-15 16:09 1126次阅读

    虚拟机:Linux查看DNS服务器IP地址的方法

    虚拟机:Linux查看DNS服务器IP地址的方法
    的头像 发表于 06-22 15:12 1.3w次阅读
    虚拟机:Linux查看<b class='flag-5'>DNS</b>服务器<b class='flag-5'>IP</b><b class='flag-5'>地址</b>的方法

    DNS服务器和DNS服务器地址是什么

    域名系统,属于一种组织成域层次结构的计算机和网络服务器命名系统。域名系统主要用于分配域名地址IP地址给互联网中的主机,系统再将用户提供的域名地址自动转为
    的头像 发表于 03-30 15:57 7890次阅读

    探讨DNS服务器解析

    本地 DNS 服务器收到来自客户端的 DNS 请求,它会在其缓存中查找 google.com 的 IP 地址。如果它可以找到对应的条目,它将直接将
    的头像 发表于 05-05 15:42 1274次阅读

    基于DNS实现负载均衡技术

    要实现一个域名对应多个 IP 地址的效果,只需要在 DNS 解析操作平台,添加一条解析记录,将网
    发表于 07-15 15:37 451次阅读
    基于<b class='flag-5'>DNS</b>实现负载均衡技术

    ip地址是从哪来的呢 DNS技术详解

    动态域名解析需要专用的域名服务器( DNS server )运行域名解析服务器程序,提供从域名到 IP 地址的映射关系,负责接收客户端(
    发表于 07-24 12:55 2445次阅读
    <b class='flag-5'>ip</b><b class='flag-5'>地址</b>是从哪来的呢 <b class='flag-5'>DNS</b>技术详解

    dns的服务器地址设置为多少

    DNS(域名系统)是互联网的基础设施之一,用于将域名转换为IP地址,使用户可以访问网络资源。要设置DNS服务器地址,首先需要理解
    的头像 发表于 01-15 11:11 662次阅读