浅谈广域网(服务器)链路负载均衡
作者:REISTLIN 来源:蓝色理想 发布时间:2008-05-11 19:02:00
最近横着走同学貌似在研究CDN.为了威望早点到200.特写一小文章.跟大家一起学习.
我们先Google一下CDN的概念:
CDN 是一个经策略性部署的整体系统.能够帮助用户解决分布式存储.负载均衡.网络请求的重定向和内容管理等问题.其目的是通过在现有的 Internet 中增加一层新的网络架构.将网站的内容发布到最接近用户的网络" 边缘 ".使用户可以就近取得所需的内容.解决 Internet 网络拥塞状况.提高用户访问网站的响应速度.从技术上全面解决由于网络带宽小.用户访问量大.网点分布不均等原因.解决用户访问网站的响应速度慢的根本原因.
CDN是个很庞大的概念和体系.全世界CDN服务提供商屈指可数.
我们熟悉的Google就是某CND的最大客户.我们今天只选取其中一小部分来讨论.
说了半天.看上去似乎很复杂.鉴于经典的大多是搞WEB的.接触的最多的是WEB服务器/数据库等.既然是浅谈.我就举个简单的例子.
比如你弄一网站.假设你有能力购买2台服务器.作为WEB服务.暂时我们认为服务器本身不存在性能问题.一台托管在北方的网通机房.一台托管在南方的电信机房.2台服务器内容互为同步.则通过智能的DNS解析设备.将网通的用户定位到北方网通的服务器上.将电信的用户定位到南方电信的服务器上.这.就是最基础的CDN.我的理解是 --- 广域网的负载均衡.
2台服务器放置问题我不想多谈.有钱就行.2台服务器内容同步的方式很多.我也不想多谈.今天主要是要谈一下.如何实现让网通的用户去访问放置在网通的服务器.电信的用户去访问放置在电信的服务器.
即如今很多服务提供商所谓的智能DNS解析.也就是互联网链路的负载均衡.
(提问) 我们访问一个域名.比如 www.Blueidea.com. 谁知道实际的访问过程是怎么样的?
(奖励) 谁知道的给100G.一组大棱光.一个源生虚空?没人知道吗?那不怪我了!
......
电信/网通.2条链路的负载均衡.我们先来谈谈这个.因为这个是访问者最直观的体验.
既然CDN的目的是为了提高用户访问网站的响应速度.最直接的方法就是做互联网链路的智能导向.
当然.CDN也涉及多台服务器负载均衡.应用的负载均衡.包括中间件的应用负载均衡.因为时间关系暂且不表.
当我们将 www.Blueidea.com 输入IE地址栏敲回车后.首先要去你的Local DNS做解析.什么是Local DNS?就是你本机网卡所设置的DNS服务器.比如我的是: 202.96.128.68.如果Local DNS没有 www.Bluieidea.com 的Cache记录.则Local DNS会询问上级DNS服务器.注意.DNS的查询结构是树状的.最后查询的DNS为root.即为root DNS.或者称为根DNS.根DNS在全世界只有13台.中国境内没有.当root DNS接受到请求后.通过查询获得的结果一般是: Blueidea.com这个域的解析服务器为ns1.chinadns.com.要求你去询问ns1.chinadns.com去做解析.ns1.chinadns.com是哪里来的?当然是你申请注册域名的机构自己的DNS服务器.也就是你Blueidea.com这个域名的隶属DNS.隶属DNS获得了你域名解析的请求.则查询A记录.返回Blueidea.com的IP地址给最初的PC Client端.完成了一次域名解析为IP地址的全部过程.
虽然很绕.但是如果能搞明白.那才能理解下面的关于智能DNS的技术原理.
上述DNS查询的常规流程.基本上就是如下图:
PC -> Local DNS -> Root DNS -> ns1.chinadns.com -> IP -> 返回给PC
智能DNS的工作原理即是在ns1.chinadns.com这一步.工作流程如下:
PC -> Local DNS -> Root DNS -> 智能DNS解析 -> 返回IP地址 -> 返回给PC
注意.上述的"返回IP地址"这一步.其实是根据PC的来源.智能的返回电信或者网通的IP地址.即如果请求解析的PC是电信线路的.则返回托管在南方电信机房的服务器的电信IP地址.反之.则返回托管在北方网通机房的网通的IP地址.
看到这里.出现了一个问题.如何判断这个请求DNS的PC.他是电信线路还是网通线路呢?
有2个方法.一个聪明的.一个笨的.我们先说笨的方法.如果智能DNS有一张庞大的IP地址分配表.表里面有所有的电信IP地址段和所有的网通地址段.则可以通过查询这个IP地址表来判断.请求的PC是属于哪个线路上的.这个方法是最直接.最高效.最稳妥的方法.虽然的确是笨了点.但是请各位注意.往往笨的方法就代表着稳定.代表着高可用性.所以.我很遗憾的告诉大家.基本上银行.证券.金融.这些重要部门.都是使用的这种笨的方法.
另外一个聪明的方法.则是通过智能的动态检测的方法.在智能DNS解析设备接受到PC的DNS请求的时候.将使用电信/网通的2条线路分别发送一个探测包.发送目标可以为目标PC的IP地址.不过更多的发送目标为Local DNS.这个包可能是ICMP的PING包.也可能是反向DNS查询的DNS包(TCP 53).当2个包有回应后.比较2个包的时间戳.延迟小的.则判定为优先解析的链路.
说到这里.基本上把智能DNS解析的工作原理简单的介绍了一下.当然.实际环境中会有更复杂.更多方法更多手段来实现.我写这篇小文的目的.一来分享一下.二来混点威望.仅此而已.
CDN很庞大.我认为此文主要是探讨其中的一部分.即互联网链路的负载均衡.也就是业内称为: 广域网的全球负载均衡和应用交付网络.


猜你喜欢
- 在新安装的Linux系统命令行下,敲入:ifconfig,显示如下界面。上面这张图显示网卡没有启动,那么我们敲入代码:ifup eth0启动
- 地方门户网站在互联网世界里方兴未艾,各个地方的门户网站“你方唱罢我登场”。最初是省级、市级的地方门户
- 国内的英文站长们经常遇到要用国内中文版的cms或论坛、博客来搭建英文网站,可是很多程序由于是针对国内用户设计的,所以并没有官方的英文版,如e
- 喜欢看电影吗?有收藏电影的习惯吗?网上看电影,资源太多,纵使再大的硬盘都会很快装满,你是否在为无法保存自己喜爱的影片而发愁呢?我想大部分着迷
- 最近在弄一个网站的易用性评估项目,就我个人体会,总结下糟糕的网站用户体验基本上会产生六大感受:1、不安感:网站在流程方面应该让用户在每次点击
- 上次我们讲了proftp的基本安装,由于我们后面有关于mysql和quota的设置,所以编译的时候把相应的模块都编译进去了,如果你不需要my
- 我们经常会通过find命令进行批量操作,如:批量删除旧文件、批量修改、基于时间的文件统计、基于文件大小的文件统计等,在这些操作当中,由于rm
- 原因:你的网站是utf-8编码,但iis的错误信息输出默认使用的是gb2312编码。导致iis出现运行时错误的时候显示的页面是乱码。解决办法
- 实例如下:#include <time.h>#ifdef WIN32# include <windows.h&
- 我做seo已经有些年头多了,做了一些比较成熟的网站,而且所在的网站公司相对来说也是还说的过去的。我现在在阿邦网做网站优化工作。在工作中,我会
- 误区1、网站目录就是搜索引擎网站目录通常是经过人工分类的有系统的网站列表,通常附带有搜索功能。网站目录就是搜索引擎的名词始于雅虎,雅虎初创时
- 1、做友情链接要有的放矢。不能够乱撒网!做友情链接就要做和我们自己网站内容相关的网站的链接!这就和国家确定自己的外交政策一样,和自己国家的政
- 随着中国网游市场的强劲增势,国产网游似乎在全球市场也是风光无限。网龙的《征服》正式进入中东等地,第一次在阿拉伯地区出现了中国网游的身影;蓝港
- 在godaddy注册域名是一个痛苦的经历,太繁琐了,但由于他们提供的域名附加服务很多,域名还是超值的,推荐大家在godaddy注册域名。为了
- 国内知名的网站内容管理系统帝国CMS6.6测试版开源发布。在6.6版本中系统等各方面都进行了完善,新增更多实用功能,优化了更多细节。6.6版
- 如果您的网站正在投放 AdSense 推介,请您注意,近期 AdSense 推介计划将会进行调整。在新的调整中,对于北美洲、拉丁美洲和日本以
- Google帐户会默认绑定一个邮箱地址作为主关联邮箱,用户可直接用邮箱信息(比如邮箱地址、密码)登录Google的各种产品及服务。而现在,G
- 北京时间11月11日消息,据国外媒体报道,在线图书巨头亚马逊宣布推出免费PC版Kindle阅读软件,加速突破平台限制战略。10月底,亚马逊曾
- 前言最近在工作中碰到一个很棘手的问题,需要读取出ubuntu系统中某个目录下所有文件,由于服务器中存储的文件实在太多,导致此过程效率十分低下
- HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内