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

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

公众号新闻

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入芋道快速开发平台知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn

来源:飞天小牛肉


字节二面: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;

如果现在北京用户访问 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 解析为例,它采用的就是权重 + 随机的策略:

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

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

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

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

  1. 将负载均衡工作交给 DNS,省去了网站管理维护负载均衡服务器的麻烦;
  2. 技术实现比较灵活,操作简单,成本低,适用于大多数 TCP/IP 应用;
  3. 对于部署在服务器上的应用来说,不需要修改任何代码就能实现不同机器上的应用访问;
  4. 很多 DNS 系统还支持基于地理位置的域名解析,可以将域名解析成距离用户地理位置最近的服务器地址,加快用户访问速度。

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

  1. 目前的 DNS 系统是需要经过递归服务器、顶级服务器、权威服务器以及众多缓存等多级解析的,在每一个环节都可能存在解析记录缓存。如果服务器 IP 发生变动,即使修改了 A 记录,也需要各级缓存失效后才能生效。而在解析生效前的这段时间,用户可能就会根据缓存记录访问到已经被更换过的服务器上,从而导致访问失败。
  2. 为了本地 DNS 服务器能够及时同步权威服务器上的最新记录,所以一般将 DNS 缓存刷新时间设置得比较小,这就会导致 DNS 频繁发起解析请求,从而造成额外的网络问题。
  3. DNS 本身并不具备主动监测服务器负载情况或动态调整权重的能力,不能区分不同服务器之间的性能和负载差异,不能反映服务器当前的运行状态,所以一些大型网站总是使用 DNS 域名解析作为第一级负载均衡手段,然后再通过负载均衡服务器提供更高级的负载均衡算法(比如最少连接:将请求发送到拥有最少开放连接的服务器),从而完成最终请求。

欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
西雅图华人注意!FDA官宣召回多款产品马克龙访问以色列都说了啥?召回多个品牌牛奶,涉全法各大超市!法国反犹事件激增!中东冲突将推高油价FDA召回多款热门零食,爱吃零食的小伙伴注意了!美高有ED吗?申请美高的时候,初中学校的好坏会影响录取吗?| FS问答精选最难的时候,不一定是最差的时候【人物】花滑王子羽生结弦结婚!今年回多伦多看望恩师、陪迷妹练习!注意!加拿大本周又将“手机狂响”!这时候会发出刺耳警报!2023地中海邮轮行 (七) 罗马喂猪20年的老海归美德还是享乐----- 米兰昆德拉与《不能承受的生命之轻》—兼论一个伟大作家的诞生[热议]宜家死人了! 9岁小男孩命丧当场!? 加拿大紧急召回多款产品!注意!加拿大又将“狂响警报” 手机这时候会发出刺耳响声!留学生警惕!新冠“强变异”杀回多伦多!医院正式紧急封锁...聊一聊:你买啥东西的时候会选高配?不想说话的时候,一句话不想说,想说话的时候能说一天FDA召回多款热门小零食如何快速分析一款产品?偏股基金什么时候会重新开始表现?从零开始,运用 Ruby 语言创建一个 DNS 查询 | Linux 中国哭爆!花滑王子羽生结弦结婚!今年回多伦多看望恩师、陪迷妹练习!突发!美联航突然撤回多个中美航班,全面复航无望!纽约华人注意! FDA召回多款产品, 误食严重影响健康在美国三十年的日子。。。加拿大卫生部召回多款国产药, 含有危险成分! 华人家中常备…啥时候会有雨?温哥华下周一要变天 预测秋季天气寒冷为什么中国女人比男人更亮眼?劲爆!大鸭梨带着4年前的价格重新杀回多伦多餐饮圈!突发!美联航突然撤回多个中美航班,航班数量大幅度锐减,全面复航无望!日照分析一键生成?清华、GMP都用这个!(附神器下载)浅谈绕过CDN寻找真实IP地址粉丝哭爆!花滑王子羽生结弦官宣结婚!今年曾回多伦多看望恩师、陪迷妹练习!注意! FDA近日召回多款热门小零食决定了!知名企业创始人公开这个地址FDA召回多款产品!包括华人最爱的...猜猜看!26年前的1万元存单,现在能取回多少钱?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。