负载均衡技术在CDN中发挥着重要作用
转载地址:http://www.qicaispace.com/gonggao/server/page01/info07.asp
CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题。
其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决
Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均而产生的用户访问网站响应速度
慢的根本原因。
CDN提供的是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。其核心就是内容管理和全局的网络流量管理(Traffic Management)。
通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有“一跳”(Single Hop)之遥。
同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供
应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。采用CDN技术,能处理整个网站页面的70%~95%的内容访问
量,减轻服务器的压力,提升了网站的性能和可扩展性。
随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从而使用户的访问质量受到严重影响。特别是
当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个急待解决的问题。如何才能让各地的用户都
能够进行高质量的访问,并尽量减少由此而产生的费用和网站管理压力呢?内容发布网络(Content Delivery
Network,CDN)诞生了。
一、CDN是什么?
---- CDN的全称是Content Delivery
Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可
以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量
导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访
问网站的响应速度。
----
为更好地理解CDN,让我们看一下CDN的工作流程。当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,
同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为:
用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确
定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。
二、CDN的相关技术
---- CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个,下面让我们简单看一下这几种技术。
---- 负载均衡技术
----
负载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡、网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网
络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高网络流量,又提高了网络的整体性能。在
CDN中,负载均衡又分为服务器负载均衡和服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务
分配,既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业
根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。在CDN的方案
中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。
---- 动态内容分发与复制技术
----
大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况
下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,
网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内
容分发与复制技术也是CDN所需的一个主要技术。
---- 缓存技术
----
缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务
等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索
网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速
度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。
三、谁需要CDN?
---- 既然CDN的核心作用是提高网络的访问速度,那么其用户也就是访问量很大的网站,例如ICP
、ISP、大型企业、电子商务网站和政府网站等。利用CDN技术,这些网站无需投资昂贵的各类服务器,设立分站点。通过采用CDN,CDN将负责信息传递
工作,保证信息正常传输,而技术人员只需要维护网站内容,不需要考虑流量问题。这样,网站可保证用户得到更多的新业务,可以快速访问网络上的内容,获得更
好的服务质量。举个例子来讲,对于访问量比较大,而被访问内容更新周期比较长的网站,如政府网站,用户往往进行大量的查询工作。这类网站比较适合采用
CDN。还有,大家是否注意到,在所谓的宽带社区中,瓶颈是社区的对外出口。这样,如果采用CDN无疑对社区用户使用视频点播、网络教育等宽带应用提供了
保证。
四、CDN的不足
----
任何一个新事物,在给现有模式带来改进的同时,也必然存在一定的局限,CDN也是这样。据互联通网络有限公司的技术经理郭广中讲,实时性不太好是CDN的
致命缺陷。随着对CDN需求的逐渐升温,这一缺陷将得到改进,使来自于远程服务器的网络内容网页与复本服务器或缓存器中的网页保持同步。解决方法是在网络
内容发生变化时将新的网络内容从服务器端直接传送到缓存器,或者当对网络内容的访问增加时将数据源服务器的网络内容尽可能实时地复制到缓存服务器。
五、CDN产品
---- 目前,推出比较成熟的CDN产品的厂家有Cisco、F5和互联通公司等,前两者的CDN是以硬件系统为主,而后者的CDN是以软件为主的通用平台,很好地结合了线路和服务优势。下面简单分析一下互联通的CDN——Smart CDN。
----
互联通采用整体负载均衡(GSLB)、缓存技术(Cache)及镜像技术(Mirror)相结合的方法,为客户提供异地网络加速服务。具体方案是在网站主
站点以外的用户集中城市、地区使用互联通的网络加速服务,互联通智能GSLB系统通过互联通专网,引导网站用户访问“最佳”Cache/Mirror服务
器,从而绕过互联网拥堵链路,减轻主站点服务器负载,实现异地网络加速,并解决了单纯Cache/Mirror不能解决的难题。
---- Smart
CDN通过DNS解析或HTTP重定向两种方式工作,通过Cache服务器或异地的镜像站点完成内容的传送与同步更新。DNS方式用户位置判断准确率大于
85%,HTTP方式准确率为99%以上。经实际测算,各Cache服务器群的用户访问流入数据量与Cache服务器到原始网站取内容的数据量之比在
2:1到3:1之间,即分担50%~70%的到原始网站重复访问数据量(主要是图片、流媒体文件等内容)。对于镜像,除数据同步的流量,其余均在本地完
成,不访问原始服务器。
---- Smart
CDN系统基于用户实际访问的IP地址判断用户位置,直接将用户访问指向响应速度最快的站点。整个系统管理简单,用户可通过GUI确定有哪些内容需要做分
布式分发,系统会自动完成内容的复制、更新及数据库同步的全过程。并且,系统具有自诊断、负载均衡的能力,任何环节发生故障,不会影响整个系统的可访问
性。
---- 可以说,负载均衡技术在CDN中发挥着重要的作用,其能力高低对CDN的性能产生直接影响。Smart CDN所采用的负载均衡具有一定的优势,主要体现在如下几个方面。
---- 1. 高智能化
---- 运用虚拟IP(VIP)地址代表目标服务器和应用,Smart
CDN将会话分配到最高可用性的服务器,全程监控每个会话。服务恢复后自动重新登记,并在转发客户机和服务器信息包时提供全地址转换。Smart
CDN采用了包括循环法、最少连接法、散列法或最少失误法等多种不同的负载均衡方法,并对个别服务器配置最大连接数量阈值和加权值,这样可以有效避免服务
器超载。
---- 2. 高可靠性
---- Smart
CDN架构在互联通专用的高速骨干网之上,该主干网络提供延迟极小的网络连通性,从而保障GSLB的功能正常发挥和高性能,优于基于公网的GSLB。并
且,当主站点机房的Internet出口出现故障时,Smart
CDN还能将用户自动、透明地从其他分站点Internet入口导向主站点服务器,从而提高了网络的可靠性。
---- 3. 高可用性
---- 采用热备份方法,在极短时间内对服务器链路、交换端口和交换机进行检测和故障转移,使应用免受故障影响。一旦任何一个服务器或服务器群发生故障或阻塞,用户将被自动引导到下一个最佳备份服务器或站点,从而更进一步提高了服务和内容的可用性。
---- 4. 高冗余性
---- Smart CDN运行在互联通“三环嵌套”网络主干架构之上,具有高冗余特点,从而保证了高可靠性和高可用性,这一点和其他基于公网的GSLB解决方案有很大差别。
---- 另外,Smart CDN在服务上的优势体现在:
通过互联通专有链路系统,可提高用户访问的响应速度;保证了两岸三地区域内多点多地服务器内容同步;消除了峰值访问(Peak
Load)对出口链路及服务器性能的压力;提高了租用链路的带宽利用率; 降低了原始Web/FTP网站的负载等。
负载均衡技术在CDN中发挥着重要作用的更多相关文章
- 转载-lvs官方文档-LVS集群中的IP负载均衡技术
章文嵩(wensong@linux-vs.org) 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN ...
- LVS集群中实现的三种IP负载均衡技术
LVS有三种IP负载均衡技术:VS/NAT,VS/DR,VS/TUN. VS/NAT的体系结构如图所示.在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的.这些服务器 提供相同的网络服 ...
- LVS集群中的IP负载均衡技术
LVS集群中的IP负载均衡技术 章文嵩 (wensong@linux-vs.org) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集 ...
- 快速理解高性能HTTP服务端的负载均衡技术原理(转)
1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...
- 三种LVS负载均衡技术的优缺点----负载均衡调度算法
三种LVS负载均衡技术的优缺点归纳以下表: VS/NATVS/TUNVS/DR 服务器操作系统任意支持隧道多数(支持Non-arp) 服务器网络私有网络局域网/广域网局域网 服务器数目(100M网络) ...
- Web服务器Tomcat集群与负载均衡技术
我们曾经介绍过三种Tomcat集群方式的优缺点分析.本文将介绍Tomcat集群与负载均衡技术具体实施过程. 在进入集群系统架构探讨之前,先定义一些专门术语: 1. 集群(Cluster):是一组独立的 ...
- 亿级PV请求的三种负载均衡技术
在互联网+不断渗透到生活中的今天,各种各样的网络服务存在在我们身边,他们的访问流量也是大得惊人.一个大型网站(百万PV以上)想要正常访问,单单靠一台服务器是不可能提供稳定服务的.这时候就需要用负载均衡 ...
- Lvs IP负载均衡技术
Lvs集群的通用结构 Lvs集群采用IP负载均衡技术,属于IP层的交换(L4),具有很好的吞吐率.调度器分析客户端到服务器的IP报头信息,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器 ...
- 移动负载均衡技术(MBL)
移动负载均衡技术(MBL) 转至元数据结尾 附件:5 被admin添加,被admin最后更新于四月 27, 2015 转至元数据起始 互联网技术发展到今天,已经进入移动时代,很多在传统CS和BS的 ...
随机推荐
- 《C++ Primer Plus》第4章 学习笔记
数组.结构和指针是C++的3中符合类型.数组可以在一个数据对象中存储多个同种类型的值.通过使用索引或下标,可以访问数组中各个元素.结构可以将多个不同类型的值存储在同一个数据对象中,可以使用成员关系运算 ...
- 我使用过的Linux命令之sftp - 安全文件传输命令行工具
用途说明 sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多. 常用方式 格式:sftp <h ...
- eclipse 设置 @author @version等注释模板
eclipse->window->preference->java->code styple->code template->Code->New Java f ...
- java的list集合如何根据对象中的某个字段排序?
转自:http://blog.csdn.net/wangjuan_01/article/details/51351633 List集合按某个字段排序 package wjtest_01; import ...
- SharePoint Managed Metadata 使用总结
前言 本文完全原创,转载请说明出处,希望对大家有用. 在SharePoint开发中,通常我们会将数据存储在列表,文档库或者直接存到数据库.但涉及到数据的层级结构时,用列表等存储实现并不是一件简单的事情 ...
- python基础-第八篇-8.1初识Socket
socket基础 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...
- 网络编程 - socket通信/粘包/文件传输/udp - 总结
socket通信 1.简单的套接字通信 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bin ...
- python pip命令技巧
确保本地开发环境,和线上一致性 1.导出当前解释器的模块pip3 freeze > requirements.txt 2.将这个文件requirements.txt,上传至服务器,在新的虚拟环境 ...
- idea 常见问题
1.idea控制台乱码 打开File->Settings->Editer->File Encoding,将IDE Encoding 和 Project Encoding 都改为UTF ...
- JSON.parse和JSON.stringify
var json_arr = []; //parse用于从一个字符串中解析出json对象;stringify()用于从一个对象解析出字符串 ...