写点什么

Nginx 服务不行了怎么办,网商银行 java 面试

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:1097 字

    阅读完需:约 4 分钟


从数据流中,我们可以看到,并发高的瓶颈会在 nginx 服务器上面,因为所有的请求都是通过 nginx 进行转发的,一旦用户并发量过高,超过最大负荷的时候,nginx 所在的服务器 cpu、io、带宽、内存都将达到瓶颈,这个时候又该怎么办呢?


DNS 域名解析


不要着急,首先域名请求到我们 nginx 服务器,实际上还走了很多流程,这边我们重点介绍域名 DNS 解析。



1、在


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


浏览器中输入 www.qq.com 域名,操作系统会先检查自己本地的 hosts 文件是否有这个网址映射关系,如果有,就先调用这个 IP 地址映射,完成域名解析。


2、如果 hosts 里没有这个域名的映射,则查找本地 DNS 解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。


3、如果 hosts 与本地 DNS 解析器缓存都没有相应的网址映射关系,首先会找 TCP/ip 参数中设置的首选 DNS 服务器,在此我们叫它本地 DNS 服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。


4、如果要查询的域名,不由本地 DNS 服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析,此解析不具有权威性。


5、如果本地 DNS 服务器本地区域文件与缓存解析都失效,则根据本地 DNS 服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地 DNS 就把请求发至 13 台根 DNS,根 DNS 服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个 IP。本地 DNS 服务器收到 IP 信息后,将会联系负责.com 域的这台服务器。这台负责.com 域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com 域的下一级 DNS 服务器地址(qq.com)给本地 DNS 服务器。当本地 DNS 服务器收到这个地址后,就会找 qq.com 域服务器,重复上面的动作,进行查询,直至找到 www.qq.com 主机。


6、如果用的是转发模式,此 DNS 服务器就会把请求转发至上一级 DNS 服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把转请求转至上上级,以此循环。


从客户端到本地 DNS 服务器是属于递归查询,而 DNS 服务器之间就是的交互查询就是迭代查询。


多 IP 绑定


很多童鞋可能会问,这个 DNS 解析过程和上面问题有什么关系?当然有关系了,而且关系还很大,因为域名绑定 IP 地址,可以绑定多个,甚至还可以根据具体的 IP 设置权重等。通过这种方式,我们的数据流就变成了下面所示的过程了。



DNS 服务器一般并发量都特别高,完全可以支撑的住一般的并发量,这样当并发量高的时候,我们只需要不断的增加新的服务集群,来确保我们服务的正常运行。


课后探讨

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Nginx服务不行了怎么办,网商银行java面试