换一种视角看DNS(采坑篇)
换一种视角看DNS
我们尽量用精炼的语言,尽可能的规划DNS的全貌(当然笔者水平有限,如有错误请不吝赐教)。
通常啊我们在个人PC中能看到DNS的配置身影就是在上网的时候,通常如果你不配置DNS可能找不到IP地址等等,那这是我们就回去配置一个DNS服务器,我们可以吧DNS服务器理解为地址簿,没错漫游在全网的地址簿;那你想过没有它背后的作用呢?我们继续看。
1、什么是DNS服务?
DNS服务全程Domain Name System,中文译名为域名系统。就是互联网中地址簿,通常我们PC端都是自动获取,有过管理服务器的效果版一般手工配置的多。
DNS是一个超大的地址簿,但是呢统一管理太麻烦怎么办呢?分层管理,非常类似郡县制,然后一层一层划分下去,我们以百度的域名为例说一下:
www.baidu.com.
上面这个字符串就是域名,也就是我们熟知百度的域名,眼尖的小伙伴可能发现最后怎么多了一点,没错这个点就是最高层的管理者也就是根,当然我们默认情况下都是隐藏的,我们拆分来看下:
- com:这个顶级域名,是有一个家域名发行商管理,当然类似的还有io, cn, hk 等等;
- baidu:在顶级域名下面,我们称之为一级域名,这个域名都是用户或者公司进行购买,需要付出费用;
- www:接着就是www,我们称之为二级域名,这个完全是由一级域名所有者进行管理的。
看到这里有的小伙伴有些懵,那么简单来说下规则:
.(根) --> com(顶级域名) --> baidu(一级域名) --> www(二级域名)
一般情况下就是这样的一个分层构建了我们看到的DNS服务。
2、DNS应用场景
场景:就是地址簿....
场景一:域名管理
这也是最常见的情况,在购买一级域名后你可以进行配置你的域名记录,域名指向你的实际地址我们称之为A记录,相关的常用记录还有:
- A记录,一般作用于域名-->IP的直接解析也是企业最常用的;
- CNAME,就是别名解析,一般多用于CDN的场景下,相当于域名和主机之间增加了一个桥梁;
- MX,邮件解析记录,这个笔者接触也不多;
- NS,指定你的DNS服务器地址,刚才我们说过了域名是自上而下的管理,你需要一个老大哥来罩着你,这个DNS就是你大哥地址,默认情况下购买域名后默认给你配置;
- TXT,这个记录一般多用于域名验证,判断域名是否有管理权限。
好用的DNS,如万网或者DNSPOD 会有 A记录负载均衡以及智能DNS的功能。
- A记录负载均衡,当你的入口服务器一台机器扛不住的情况下,这个是非常赞的功能;
- 智能DNS,可以根据用户来源的DNS位置进行解析不同的记录,这样就可以实现用户分流了(从源头控制很舒心,多用于跨境服务以及CDN)。
场景二:企业内部DNS
上周还在吐槽,公司内部测试环境服务器通过IP+端口来划分,记忆混乱整个人都难受,平白无故都发也稀少了,这样我们就可以通过构建一台内部DNS解决这个问题了
还有一个非常重要的事情就是,集群内部环境,当我们使用外部服务器的DNS,如果他们DNS抽风或者网络的种种原因我们最好在自己机房做一个DNS服务,来保证内部服务的通畅。
笔者认识的小伙伴就因为某DNS服务商除了问题,整个内部服务有一多半出现非常卡顿的问题。
3、DNS踩过的坑
Q: 我配置的DNS为啥没有效果呢?
A: DNS默认生效是有周期行知的默认都在10分钟以内,如果更改的级别越高比如你修改了NS服务则需要24小时甚至更长。(所以笔者建议,在切割DNS时特别注意这一点,以免造成服务不可访问)
Q: 为什么我明明配置的DNS解析记录,然而还是搜寻不到呢?
A: 鉴于国内行情DNS和运营商的的缓存刷新还不一致,你可以指定你服务器配置的DNS Server测试一下
Q: 智能DNS 为什么解析的服务器不是对应地区的呢?
A: 这个智能DNS能够获取到的是用户PC上配置的DNS地址,所以你懂的(所以测试的小伙伴需要注意了)
Q: DNS 负载均衡怎么不是1V1?
A: DNS服务商也想啊,但是实力不允许啊,能够做到相对轮训的,可靠地不用担心(只是负载均衡,没有健康检查,Bro 特别注意)
Q: 我配置了CDN 但是经常出现404,尤其是配置HTTPS的情况下?
A: 这个呢是CDN服务器宕机或者智能调度到其他Server,但是运营商的缓存没有刷新;建议联系你的CDN的销售经理帮助你换到更加稳定服务器哦。
其实最大的坑,莫过于运营商和DNS服务商的缓存刷新了
4、DNS两种解析机制
鉴于网上有比较好的文章了,我就不水了,传送门:https://blog.51cto.com/13570193/2105393
换一种视角看DNS(采坑篇)的更多相关文章
- Html.fromHtml采坑篇
在显示复杂的文本样式时,通常采用SpannableString和Html.formHtml来解决需求. 在使用html过程中,通常会出现以下问题: 1.提示Html.formHtml方法过时 解决 使 ...
- 从源码看Spring Security之采坑笔记(Spring Boot篇)
一:唠嗑 鼓捣了两天的Spring Security,踩了不少坑.如果你在学Spring Security,恰好又是使用的Spring Boot,那么给我点个赞吧!这篇博客将会让你了解Spring S ...
- 换种眼光看Spring之bean是怎么诞生的(一)
Java的世界里处处存在了对象,有时候换一种眼光往往会给自己带来与之前大不一样的理解. 一个对象的出现离不开字节码,拿classforname来讲,classforname("...&quo ...
- Mybatis系列全解(七):全息视角看Dao层两种实现方式之传统方式与代理方式
封面:洛小汐 作者:潘潘 一直以来 他们都说为了生活 便追求所谓成功 顶级薪水.名牌包包 还有学区房 · 不过 总有人丢了生活 仍一无所获 · 我比较随遇而安 有些事懒得明白 平日里问心无愧 感兴趣的 ...
- alert大法看执行流程(一次采坑)
页面的dom元素加载完了,给元素一次性添加事件. 收获:事件都是一次性给添加好的,不是点击一次,................................................... ...
- Redis集群搭建采坑总结
背景 先澄清一下,整个过程问题都不是我解决的,我在里面就是起了个打酱油的角色.因为实际上我负责这个项目,整个过程也比较清楚.之前也跟具体负责的同事说过,等过段时间带他做做项目复盘.结果一直忙,之前做的 ...
- Charles 抓包工具安装和采坑记录
Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...
- PS切图采坑
博客记录我的各种采坑,有的坑很水,比如下面这个 谨记录自己的坑,以后作为入门笑料. 拿到设计师的psd设计图,理清事件逻辑,接下来就要切图啦.结果PS老是crash!检查了PS版本,也不低啊2017. ...
- axios采坑之路
POST请求设置Content-Type 由于后端采用的是form表单形式上送参数,需要设置Content-Type axios设置如下 const _axios = axios.create(con ...
随机推荐
- Spring Boot 2.x基础教程:多个文件的上传
昨天,我们介绍了如何在Spring Boot中实现文件的上传.有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法. 动手试试 本文的动手环节将基于Spring ...
- [新手教程]申请https泛域名解析
前置准备 教程开始,我们默认相信小伙伴们对基本的域名购买及解析有了一定的认识和实践 一个正常的域名 一台公网服务器 域名解析操作 如:现在我们要设置frps的泛域名解析 设置二级域名 frp.xx.c ...
- 浅谈.NET技术公司的实习生培养
浅谈.NET技术公司的实习生培养 背景 近几年.NET开发者市场的越发不景气,一毕业就选择.NET技术的开发者更是少之又少.一方面是公司效益的日益提高,一方面却是招聘优秀人才的速度总是赶不上公司发展的 ...
- 上班从换一张桌面壁纸开始——开源小工具Bing每日壁纸
发布一个自用的开源小软件,Bing每日壁纸,使用c# winform开发.该小软件可以自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事. 功能特性 自动获取Bing最新图片 ...
- docker搭建前端环境
开发环境的搭建,是新人入职后的第一道槛,有时一个小小的问题就能阻塞半天.如果能提供一个工具在短时间内搞定开发环境,势必提高新人对团队的印象分!docker就是这样一个工具. 镜像&容器 doc ...
- LeetCode237 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...
- 简单的JS+CSS实现网页自定义换肤
1,实现效果 2,实现原理 主要原理是利用css变量设置颜色,用js动态修改变量,使颜色变化,兼容性如下: 实现换肤之前先要了解一下伪类选择器 :root ,还有css的 var() 函数和 set ...
- 容器编排系统K8s之HPA资源
前文我们了解了用Prometheus监控k8s上的节点和pod资源,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14287942.html:今天我们来了解下 ...
- mysql—if函数
在mysql中if()函数的具体语法如下:IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值. 开始实 ...
- 二进制部署kubernetes
Kubernetes二进制安装 环境准备: 主机环境:做好主机名hosts文件映射 硬件2cpu 2G内存 192.168.30.21 k8s-master 192.168.30.22 k8s-no ...