目录
如果错过互联网,与你擦肩而过的不仅仅是机会,而是整整一个时代。
基本概念
CDN(Contene Delivery Network)内容发布网络。通过网络各处安置的节点服务器构成的智能虚拟网络,实时掌握网络流量,负载状况,响应时间和到用户的距离,避开可能影响速度和稳定性的环节,将用户需求导到最近的节点上。用于解决网络拥堵,提高响应速度。
基本原理
CDN的基本原理是反向代理,指它作为一个节点服务器,接受用户请求并转发至内部服务器,并将服务器的处理结果返回给用户。
传统未加缓存服务的访问过程:
- 用户提交域名;
- 浏览器解析域名得到主机IP地址;
- 浏览器得到IP后,向DNS服务器发出请求;
- 浏览器根据DNS服务器返回数据显示网页。
CDN主要用于在用户和服务器之间增加Cache层,通过接管DNS实现。
- 用户提交域名;
- 浏览器对域名进行解析,由于加了CDN服务器,所以解析后得到的一般是域名对应的CNAME记录,浏览器再对此记录进行解析才能得到IP地址;
- 浏览器得到IP后,向DNS缓存服务器发出请求;
- 缓存服务器通过Cache内部的专用DNS服务器解析到实际IP,再向此IP地址提交访问;
- 缓存服务器在此IP地址获得内容后,本地保存一份,返回给用户一份;
- 用户浏览器得到缓存服务器返回数据后显示网页。
实现方式
ICP (Internet Content Provider):把域名解释权交给CDN,其余不用修改。修改域名解析记录时用CNAME指向CDN网络Cache服务器地址。
CDN :为ICP提供域名解析。为了实现sort list(链表排序),CDN利用CNAME记录在接受请求后能够返回相同域名的不同IP地址。Cache服务器接收到的CNAME记录带有hostname,故CDN内部有一个DNS服务器来判断用户访问域名的真实IP,此内部DNS服务器还需连带一台授权服务器,控制域名是否可以缓存,避免开放代理。
主要特点
- 稳定性:本地Cache提高站点稳定性及访问速率,尤其是含有大量图片和静态页面的站点。
- 镜像服务:实现跨运营商的网络加速。
- 远程访问:用户可根据DNS负载均衡技术,智能选择响应最快的Cache服务器,加快远程访问速度。
- 带宽优化:通过镜像服务,使用户在Cache上读取数据,减少远程访问带宽,分担流量,减轻web负载。
- 抗攻击性:分布式的CDN节点使数据广布各个节点,可以有效抵挡DDos,MIMT攻击对网站的影响。
CDN节点
每个CDN节点都由两部分组成:Cache缓存服务器和负载均衡设备。
Cache负责储存客户网站的大量信息,像网站服务器一样响应用户访问需求。
负载均衡设备负责每个点的负载均衡,并收集节点和周围环境的信息,保证节点高效,稳定运行。
最简单的CDN网络有一个负责全局均衡负载的DNS和一个Cache就可以运行。当一台Cache不能在此节点提供足够的服务时,就需要多台Cache分流,此时才需要负载均衡器使多台Cache协同工作。
CubeFS是国内首个开源分布式存储系统,得益于其稳定性,扩展性,易运维性,性能,成本等优势,目前CubeFS已被OPPO,京东,网易等大量应用。