gtxyzz

CDN负载均衡为网站浏览提速

gtxyzz 运维技术 2022-11-15 460浏览 0

在我们使用负载均衡的时候,达到网络的负载平衡,使服务器的收发处理和传输技能能够得到平均的分配,不仅减缓了单一服务器的工作压力,还提高了工作效率,达到了能源的节约。那么,我们现在就来简单谈谈,整个策略性的网络架构中,广域网负载均衡的相关问题。

CDN是一个经策略性部署的整体系统.能够帮助用户解决分布式存储.广域网负载均衡.网络请求的重定向和内容管理等问题.其目的是通过在现有的Internet中增加一层新的网络架构.将网站的内容发布到最接近用户的网络"边缘".使用户可以就近取得所需的内容.解决Internet网络拥塞状况.提高用户访问网站的响应速度.从技术上全面解决由于网络带宽小.用户访问量大.网点分布不均等原因.解决用户访问网站的响应速度慢的根本原因.

CDN是个很庞大的概念和体系.全世界CDN服务提供商***.我们熟悉的Google就是某CND的***客户.我们今天只选取其中一小部分来讨论.

说了半天.看上去似乎很复杂.鉴于经典的大多是搞WEB的.接触的最多的是WEB服务器/数据库等.既然是浅谈.我就举个简单的例子.

比如你弄一网站.假设你有能力购买2台服务器.作为WEB服务.暂时我们认为服务器本身不存在性能问题.一台托管在北方的网通机房.一台托管在南方的电信机房.2台服务器内容互为同步.则通过智能的DNS解析设备.将网通的用户定位到北方网通的服务器上.将电信的用户定位到南方电信的服务器上.这.就是最基础的CDN.我的理解是—广域网负载均衡.

2台服务器放置问题我不想多谈.有钱就行.2台服务器内容同步的方式很多.我也不想多谈.今天主要是要谈一下.如何实现让网通的用户去访问放置在网通的服务器.电信的用户去访问放置在电信的服务器.即如今很多服务提供商所谓的智能DNS解析.也就是广域网负载均衡.

(提问)我们访问一个域名.比如www.Blueidea.com.谁知道实际的访问过程是怎么样的?

电信/网通.2条链路的广域网负载均衡.我们先来谈谈这个.因为这个是访问者最直观的体验.既然CDN的目的是为了提高用户访问网站的响应速度.最直接的方法就是做互联网链路的智能导向.当然.CDN也涉及多台服务器负载均衡.应用的负载均衡.包括中间件的应用负载均衡.因为时间关系暂且不表.

当我们将www.B.com输入IE地址栏敲回车后.首先要去你的LocalDNS做解析.什么是LocalDNS?就是你本机网卡所设置的DNS服务器.比如我的是:202.96.128.68.如果LocalDNS没有www.B.com的Cache记录.则LocalDNS会询问上级DNS服务器.注意.DNS的查询结构是树状的.***查询的DNS为root.即为rootDNS.或者或者称为根DNS..根DNS在全世界只有13台.中国境内没有.当rootDNS接受到请求后.通过查询获得的结果一般是:B.com这个域的解析服务器为.ns1.2.com.要求你去询问ns1.c2.com去做解析.ns1.2.com是哪里来的?当然是你申请注册域名的机构自己的DNS服务器.也就是你Bl.com这个域名的隶属DNS.隶属DNS获得了你域名解析的请求.则查询A记录.返回Bl.com的IP地址给最初的PCClient端.完成了一次域名解析为IP地址的全部过程.

虽然很绕.但是如果能搞明白.那才能理解下面的关于智能DNS的技术原理.上述DNS查询的常规流程.

PC->LocalDNS->RootDNS->ns1.2.com->IP->返回给PC

智能DNS的工作原理即是在ns1.2.com这一步.工作流程如下:

PC->LocalDNS->RootDNS->智能DNS解析->返回IP地址->返回给PC

注意.上述的"返回IP地址"这一步.其实是根据PC的来源.智能的返回电信或者网通的IP地址.即如果请求解析的PC是电信线路的.则返回托管在南方电信机房的服务器的电信IP地址.反之.则返回托管在北方网通机房的网通的IP地址.

看到这里.出现了一个问题.如何判断这个请求DNS的PC.他是电信线路还是网通线路呢?

有2个方法.一个聪明的.一个笨的.我们先说笨的方法.如果智能DNS有一张庞大的IP地址分配表.表里面有所有的电信IP地址段和所有的网通地址段.则可以通过查询这个IP地址表来判断.请求的PC是属于哪个线路上的.这个方法是最直接.***效.最稳妥的方法.虽然的确是笨了点.但是请各位注意.往往笨的方法就代表着稳定.代表着高可用性.所以.我很遗憾的告诉大家.基本上银行.证券.金融.这些重要部门.都是使用的这种笨的方法.

另外一个聪明的方法.则是通过智能的动态检测的方法.在智能DNS解析设备接受到PC的DNS请求的时候.将使用电信/网通的2条线路分别发送一个探测包.发送目标可以为目标PC的IP地址.不过更多的发送目标为LocalDNS.这个包可能是ICMP的PING包.也可能是反向DNS查询的DNS包(TCP53).当2个包有回应后.比较2个包的时间戳.延迟小的.则判定为优先解析的链路.从而实现广域网负载均衡的目的.

继续浏览有关 网络 的文章
发表评论