利用dns解析来实现网站的负载均衡

news/2024/5/9 2:35:01/文章来源:https://blog.csdn.net/weixin_34253539/article/details/86730852

当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :)

传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理

利用dns解析来实现网站的负载均衡

利用dns解析来实现网站的负载均衡

对于一般的需求来说,这样的架构基本就可以解决问题了。而且维护起来也相对简单。嗯,大多数公司也都是这么干的。

传统思路的局限性

就如同上图所示,传统思路也存在非常明显的局限性。也就是网站的响应速度很大程度上局限于负载均衡节点的能力,而且一旦负载均衡节点本身挂掉的话,整个网站就完全瘫痪了。后端的服务可以水平扩展,但是对于单个节点来说就算你再增大机器的配置也是有极限的,而且这也不符合互联网技术的发展规律。

CDN是怎么做的

作为互联网上承载大部分流量的一大基础设施,CDN对负载分流的解决思路很具有启发性

作为互联网上承载大部分流量的一大基础设施,CDN对负载分流的解决思路很具有启发性

利用dns解析来实现网站的负载均衡

从上图可以看到,用户的访问被分流了,所有的请求不再是聚集到一个节点上,而是被分担在了各个合适的节点上,这样即使存在单点故障,也仅仅只会影响到一部分用户,况且我们还可以使用其他手段做故障转移。

同样的做法也可以借鉴到传统的BS架构中,我们也可以把用户的请求直接分流到不同的服务器上,而不必经过一个统一的节点中转。这个分流是通过什么做到的呢?答案就是 DNS!

你知道DNS是怎么工作的吗?

大部分人可能天天都用着DNS却不知道它的基本原理,你可能知道我们访问互联网需要查询dns服务器,就是下面的这个玩意

利用dns解析来实现网站的负载均衡

我们只需要问它域名所对应的ip地址就行了。但事情真的这么简单吗?它是怎么知道这个域名所对应的ip地址呢?

其实dns系统是一个典型的树状架构,上图所示的dns服务器其实应该叫dns缓存查询服务器,它是为了减轻互联网上dns查询的负载所设计的。如果你的请求没有命中缓存,那么这个缓存服务器就会自己进行一次标准查询,然后再把结果缓存起来,简单来说就是从根服务器开始一级一级的问。我们以前经常谈到根服务器的重要性其实就体现在这里了,它保留了对所有域名的起始解释权

利用dns解析来实现网站的负载均衡

神奇的解释权机制(SOA)

上面讲到根服务器拥有一切域名的起始解释权,但是如果你去问根服务器它是不会直接告诉你最终答案的。因为如果它要存储所有的记录,那它也太累了,这个负载和开销是惊人的。那它会告诉你什么呢?它会告诉你应该去问谁,也就是它授权下一级服务器来解答你的问题。拟人化这个过程

  1. 我: root, root 告诉我, segmentfault.com 怎么走?
  2. root: 呵呵,你可以去问.com的dns服务器,地址是xxxxxx
  3. 我: .com, .com 告诉我,segmentfault.com 怎么走?
  4. .com: 呵呵,你可以去问segmentfault.com的dns服务器(dnspod之类的),地址是xxxxxx
  5. 我: dnspod, dnspod 告诉我,segmentfault.com 怎么走?
  6. dnspod: 拿着 xxxxxx,走你
利用dns解析来实现网站的负载均衡

DNS负载均衡的基本原理

了解了上述过程,我们得到两个基本结论

  1. dns系统本身是一个分布式的网络,它是相对可靠的,起码比你网站本身可靠的多
  2. dns的最终解释是可以受我们自己控制的

有了这两条结论,剩下的事情就简单了,我们只需要在最终解释的查询结果上做文章就可以了。简单来说,就是将你的所有服务器地址,按照自己需求制定的频次,返回给用户。

以github.com为例,我们首先获取它的SOA服务器(因为dns缓存查询服务器会缓存结果,如果你直接去查询域名,会每次返回一样的结果),.com的dns域名服务器也是13台,它们是[a-m].gtld-servers.net,我们随便选一台来找找github.com的SOA

利用dns解析来实现网站的负载均衡

OK,我们获取了四个SOA服务器ns[1-4].p16.dynect.net,再随便选一个来问问github.com对应的记录吧,顺便试几次看看最终的ip地址会不会变化

利用dns解析来实现网站的负载均衡

我们这里查询了两次,注意ANSWER SECTION部分返回了两个结果,一次是192.30.252.129,一次是192.30.252.128。

这就是利用dns实现了负载均衡,你的最终访问会到达不同的ip地址。

有哪些DNS服务商支持负载均衡呢?

这是一种比较高级的服务,一般域名注册商的dns服务器不会支持,目前我已知支持它的服务商有

  1. AWS Route 53
  2. NSONE
  3. Dyn
  4. dnspod

其中1和4是我们已经在使用的,效果比较理想。

总结

其实DNS可以玩的花样远不止这些,还可以做故障转移,也可以按地区解析等等。域名从互联网诞生之初就开始存在了,但是对它的研究以及衍生出来的使用方法才刚刚开始发掘,随着大家对互联网利用的提升,这类技术肯定会越来越多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754453.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给网站添加谷歌验证(我不是机器人)

2019独角兽企业重金招聘Python工程师标准>>> 1、去谷歌网站。(如果没有谷歌gmail,也许还要注册gmail并登陆) https://www.google.com/recaptcha/admin#list 2、注册要验证的网站。 Label中随意填写个标签。Choose the type of reCAPTCHA中选择验证类型。第一个是网站…

峰任策划:如何将网站推广做的更有效果

随着互联网的高速发展,互联网行业的竞争也是愈演愈烈。众多的中小企业也纷纷加入网络营销的行列中,建立起属于自家企业的网站,建立起以企业网站为核心的网络推广模式。那么如何来推广自己的网站,如何做好网站推广,目前…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据,目前约有78.9%的网站使用PHP开发。\\但是,PHP 5.6.x的安全支持将在2018年12月31日正式停止,这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说,从明年开始,大约62&#xf…

你的网站会投放这样的广告么?

我震惊了,钱要赚,但为了公司名誉以及社会影响,就算是广告,能不能有个底线的啊?

无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)

《无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)》基本信息原书名:Bulletproof Web Design:Improving flexibility and protecting against worst-case scenarios with HTML5 and CSS3, Third Edition 原出版社: New …

电商网站中购物车功能模块完善

主要有两方面的问题: 1、登录状态下添加商品到购物车 此时购物车是对应一个用户,很简单,就是将商品的数据插入数据库中即可,但是如果读写频繁的时候,就存在压力问题,此时我们可以使用Redis担任读的部分功能…

thinkphp5项目--企业单车网站(八)(文章板块要点)(删除图片)

thinkphp5项目--企业单车网站(八)(文章板块要点)(删除图片) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps://github.com/fry404006308/BicycleEnterpriseWebsite 一、…

云计算及其对您的SEO的影响

云计算及其对您的SEO的影响 互联网对商业世界的影响不容低估,经常使用“革命化”和“提升”等词语来描述当前的气候。过去三十年来,企业逐渐适应互联网,并在网上开展越来越多的业务。互联网技术的进步使得企业竞相跟上,以便他们能…

网站另类推广玩法心得

互联网营销,越来越多的个人或是企业希望通过网上营销将自己的产品或服务推广出去,但是这些站的具体运营呢,多数仅仅停留在把站做起来,而没有太好的推广手段,而如何有访问呢?人们首先想到的就是 SEO,因为通…

HTML易烊千玺网页,易烊千玺弟弟破世界纪录,被扒两天就被人打破,认证网站遭质疑...

近日,世界纪录认证WRCA网站宣布易烊千玺的弟弟易烊昱华成功创造了一个新的世界纪录。在今年八月,易烊昱华以1分50秒66的成绩完成了2个二阶魔方的还原,是世界上完成这个挑战的最小年龄纪录保持者。易烊千玺的亲弟弟虽然还只是一个素人&#xf…

服务器稳定性和seo有什么区别,服务器稳定性对seo有那些帮助

原标题:服务器稳定性对seo有那些帮助一、网站经常性打不开,流量损失大经过努力SEO优化之后,很多关键词都优化上来了,但是用户进来之后发现网站打不开,于是随手就关掉了,一个个精准的流量就这样白白损失掉了…

服务器做网站空间,服务器做网站空间

服务器做网站空间 内容精选换一换本节介绍使用华为云Web应用防火墙(Web Application Firewall,WAF)保护Web服务,且网站域名解析至中国大陆节点服务器的备案场景。如图1所示。① 企业将网站域名(www.example.com)添加至WAF控制台,接入WAF&…

网站攻防之CSRF和XSS跨站脚本攻击

进入正题之前,先扯一番:黑客本义并非某些人以为的利用网络干坏事的人,刚开始或者说现在的很多,黑客是以技术大牛的形式存在的,也就是在网络领域有一门专场的牛人。有些黑客不干坏事而是干好事,比如利用网站…

用Pelican+Github搭建个人博客网站

Title: 用PelicanGithub搭建个人博客网站 Date: 2017-06-4 19:13 Category: 技术博客 Modified: 2018-10-11 19:03 Tags: 博客网站 Slug: pelican-build-site Authors: Victor Lv Summary: 用PelicanGithub搭建个人博客网站 创建仓库 在github上创建一个username.github.io的…

如何在linux上运行asp网站,linux上搭建asp网站

1、需要安装一些依赖包yum –y updateyum -y install gcc gcc-c bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel2.centos6.5上(尽量不要去更改包的…

网站的 计算机主机作用是什么意思,前端主机是什么 前端主机功能介绍【图文】...

前端主机,前端主机是什么意思随着控制、计算机、通信、网络等技术的发展,计算机控制的形式已逐步从单机控制发展成多机控制,并进一步出现了集检测、控制、管理于一体的计算机控制网络,即分布式控制系统(Distributed Control System)。这类系统一般由两级计算机组成:上位机和前端…

html超链接自动跳转,超链接是什么(一打开网页就跳转另一个网站)

超链接标签指的是点击它会跳到html页面内指定的位置或者打开另外一个指定的网页,有这样效果的标签我们就称为超链接标签。在现实中用得最多的有超链接功能的就是a标签,在讲它的应用之前,我们先来讲一下html标签的属性问题。细心的朋友已经发现…

tocat服务器怎么登陆网站,如何登陆tomcat服务器配置

如何登陆tomcat服务器配置 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。本节介绍如何查看云服务器的mac地址。云服务器的mac地址…

有多个script怎么放一起_恶意镜像是什么?自己网站恶意镜像该怎么处理?

如果你将seo优化来到一定的水平,网址具备了一定的权重时一般就会出现网址被他人故意镜像系统的状况。什么叫故意镜像系统?故意镜像系统,也叫故意复制,故意分析,是指很多人 根据网站域名A记录马上分析别人ip详细地址,从…

laravel count 按一个字段去重_网站漏洞测试与修复漏洞Laravel框架

Laravel框架是目前许多网站,APP运营者都在使用的一款开发框架,正因为使用的网站较多,许多攻击者都在不停的对该网站进行漏洞测试,我们在对该套系统进行漏洞测试的时候,发现存在REC漏洞.主要是XSRF漏洞,下面我们来详细的分析漏洞,以及如何利用,漏洞修复等三个方面进行全面的记录…