当前位置: 首页 > news >正文

【网络协议】聊聊DNS协议如何域名解析和负载均衡

DNS 服务器

我们知道如果使用IP地址进行访问网站,很难进行记忆,所以DNS的作用是将域名转换成对应的IP地址。如果全世界都使用同一台DNS服务器,那么DNS服务器本身需要保证服务的高可用、高性能,以及分布式等。最好的方式就是分层。
在这里插入图片描述
根DNS服务器:返回顶级域名DNS服务器的IP地址
顶级域DNS服务器:返回权威DNS服务器的IP地址
权威DNS服务器:返回相应主机的IP地址。

DNS解析流程

为了提升DNS解析的整体性能,就需要进行DNS缓存,会先问本地DNS是否有,有的话就直接返回。所以一般为什么我们本地可以自定义配置对应的 域名 ip 就可以使用呢。如果没有的话就会问根服务器,根服务器说我告诉你顶级域名服务器的地址,顶级域名服务器说我告诉你权威域名服务器的地址。就这样客户端就获取了baidu.com的IP地址。
在这里插入图片描述
在这里插入图片描述

负载均衡

DNS除了能做域名解析 还可以做什么呢,另一个就是负载均衡,在实际的开发过程中,应用程序可能连接的数据库都是具体的阿里云地址,这样当我们想切换数据库的ip地址时,应用程序是不需要进行修改,只需要在DNS端调整以下就可以。
同样的思路,在应用层面,客户端访问服务器端,采用域名的方式,其实就可以进行负载均衡配置,通过一个具体的域名,服务端进行分发。
在这里插入图片描述

应用场景

DNS 访问数据中心中对象存储上的静态资源

在这里插入图片描述

小结

DNS的作用是将域名转换成IP地址,而查询过程是递归的方式。DNS还可以做负载均衡。

相关文章:

  • 中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验
  • Mybatis技术原理详解之:使用Mapper形式和注解驱动的复杂映射开发
  • 数据结构(超详细讲解!!)第二十一节 特殊矩阵的压缩存储
  • 【lvgl】linux开发板搭建环境
  • 类和对象解析
  • Java21-虚拟线程小试牛刀-meethigher
  • Python---字符串中的查找方法--index()--括号里是要获取的字符串
  • Qt5 安装 phonon
  • 力扣:150. 逆波兰表达式求值(Python3)
  • 数据结构和算法的区分和学习
  • Flask蓝图(Blueprint)
  • Pycharm 对容器中的 Python 程序断点远程调试
  • visual basic 6.0软件安装包(永久),适用于Windows各系统附安装教程
  • 旅游业为什么要选择VR全景,VR全景在景区旅游上有哪些应用
  • 路由器基础(二): BGP原理与配置
  • Google 是如何开发 Web 框架的
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【comparator, comparable】小总结
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Android系统模拟器绘制实现概述
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Docker入门(二) - Dockerfile
  • ES6简单总结(搭配简单的讲解和小案例)
  • JAVA多线程机制解析-volatilesynchronized
  • Koa2 之文件上传下载
  • Octave 入门
  • PHP 的 SAPI 是个什么东西
  • PV统计优化设计
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • spring security oauth2 password授权模式
  • SwizzleMethod 黑魔法
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • win10下安装mysql5.7
  • 基于HAProxy的高性能缓存服务器nuster
  • 前端工程化(Gulp、Webpack)-webpack
  • 前端学习笔记之观察者模式
  • 日剧·日综资源集合(建议收藏)
  • 实现简单的正则表达式引擎
  • 学习JavaScript数据结构与算法 — 树
  • 硬币翻转问题,区间操作
  • ​Linux·i2c驱动架构​
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)VC++中ondraw在什么时候调用的
  • (转)重识new
  • (转载)从 Java 代码到 Java 堆
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .CSS-hover 的解释
  • .htaccess配置常用技巧
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net MVC中使用angularJs刷新页面数据列表