当前位置:网站首页>What can DNS do besides resolving domain names?
What can DNS do besides resolving domain names?
2020-11-09 12:53:00 【osc_fge5j3lp】
One http request , What is the typical execution process ?
You can see , The typical process is :
(1) Client request dns-server, Initiate domain name resolution ;
(2)dns-server Return the Internet corresponding to the domain name ip(1.2.3.4);
(3) Client through the Internet ip(1.2.3.4), Access reverse proxy ;
(4) Reverse proxy through intranet ip(192.168.x.x), Distribute requests to web-server;
(5)web-server The request is processed ;
among , The first step , Convert the domain name to ip The process of , It happens outside the application system , It's through DNS Realized .
Besides domain name resolution , In architecture design , Can also use DNS What do you do ?
One 、 Users visit nearby
DNS Can achieve , The nearest access to the resources the user needs :
(1) Telecom users want to access a server resource ;
(2) Browser direction dns-server Initiate domain name resolution request ;
(3)dns-server Identify the visitor as a telecom user ;
(4)dns-server Will the telecom room nginx Extranet ip Back to the visitor ;
(5) Visitors visit nearby ;
According to the user ip To return to the nearest server ip, be called “ intelligence DNS”,CDN And the most commonly used in multi machine room and multi living .
Two 、 Reverse agent horizontal expansion
In a typical Internet Architecture , By increasing web-server To expand web Layer performance , But reverse proxy nginx It's still the only access to the whole system , If the system throughput exceeds nginx Performance limit of , Difficult to expand , At this point, we need dns-server With horizontal expansion .
The specific way is : stay dns-server For the same domain name, you can configure multiple nginx The Internet ip, Every time DNS Resolve request , Polling returns different ip, In this way... Can be achieved nginx Horizontal expansion of , This method is called “DNS polling ”.
3、 ... and 、web-server Load balancing
since “dns polling ” The traffic of the same domain name can be evenly distributed to different nginx, Then it can also be used to do web-server Load balancing of :
(1) Remove... From the architecture nginx layer ;
(2) Will be multiple web-server The Intranet ip Change to the Internet directly ip;
(3) stay dns-server The Internet corresponding to the domain name ip Polling resolution ;
adopt DNS What are the advantages and disadvantages of load balancing ?
advantage :
(1) Leverage third parties DNS The implementation of , There is no need to move the server architecture ;
(2) A layer of network requests is missing ;
Insufficient :
(1)DNS It only has parsing function , Can't guarantee the corresponding Internet ip The usability of , and nginx When acting as a reverse agent , And web-server There is a live detection mechanism between , When web-server Hang up , Ability to automatically migrate traffic ;
(2) When web-server When expansion is needed , adopt DNS The expansion takes effect for a long time , and nginx It's the part of the server that is completely under its own control ,web-server Expansion is more real-time and convenient ;
Because of the above two reasons , Generally, high availability reverse proxy is used in architecture .
summary
In architecture design , Besides domain name resolution ,DNS There are other uses :
(1) intelligence DNS, According to the user ip To access the server nearby ;
(2)DNS polling , Extend the reverse proxy layer horizontally ;
(3) utilize DNS Implement load balancing ;
I hope you all get something .
Sweep yards attention “ Architect's way ” Video Number
Video number needs to have 100 Attention , To open authentication , I hope you will be the first 100 A friend . thank , Gratitude .
版权声明
本文为[osc_fge5j3lp]所创,转载请带上原文链接,感谢
边栏推荐
- TiDB x 微众银行 | 耗时降低 58%,分布式架构助力实现普惠金融
- Introduction to zero based im development (4): what is message timing consistency in IM systems?
- The history of C1 research in Shenzhen
- Interview summary on November 7, 2020 (interview 12K)
- 微信视频号播主排行榜2020年10月
- FGC online service troubleshooting, this is enough!
- Complete set of linked list operations of data structure and algorithm series (3) (go)
- From coding, network transmission, architecture design, Tencent cloud high quality, high availability real-time audio and video technology practice
- 技美那么贵,不如找顾问 | AALab企业顾问业务
- JVM学习(五) -执行子系统
猜你喜欢
The history of C1 research in Shenzhen
What really drags you down is sunk costs
Introduction to zero based im development (4): what is message timing consistency in IM systems?
手写Koa.js源码
解密未来数据库设计:MongoDB新存储引擎WiredTiger实现(事务篇)
Rainbow sorting | Dutch flag problem
服务应用 ClockService安卓实现闹钟
Android check box and echo
导师制Processing网课 双十一优惠进行中
JVM learning (6) - memory model and thread
随机推荐
阿里、腾讯、百度、网易、美团Android面试经验分享,拿到了百度、腾讯offer
How to use function framework to develop large web application
Interface tests how to pass files in post requests
The use of Android studio Aidl
注意.NET Core进行请求转发问题
Introduction to zero based im development (4): what is message timing consistency in IM systems?
Interview summary on November 7, 2020 (interview 12K)
Configure switch trunk interface traffic local priority forwarding (cluster / stack)
Aren't you curious about how the CPU performs tasks?
微信视频号播主排行榜2020年10月
Wechat circle
Jsliang job series - 08 - handwritten promise
From coding, network transmission, architecture design, Tencent cloud high quality, high availability real-time audio and video technology practice
An attempt to read or write to protected memory occurred using the CopyMemory API. This usually indicates that other memory is corrupted.
Using stream to read and write files to process large files
Ali, Tencent, Baidu, Netease, meituan Android interview experience sharing, got Baidu, Tencent offer
How to ensure that messages are not consumed repeatedly? (how to ensure the idempotent of message consumption)
分库分表的 9种分布式主键ID 生成方案,挺全乎的
vscode 插件配置指北
Is multithreading really faster than single threading?