描述CDN原理的一个形象例子
许多人在对CDN的了解过程中,觉得术语太多难以理解,今天这边给大家通过举例来形象的描写CDN这个理念。首先,内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。
1、GSLB全局负载均衡和iDNS智能DNS是一个意思,并不是两个东西。在实现方式上,有F5 GTM等成熟的厂家产品,也可以自己用开源软件,比如bind去实现。
2、CDN包括GSLB+缓存,这里面的缓存又包括本地负载均衡(lvs/nginx/haproxy)、缓存服务器(squid或者varnish)等东西,都是开源软件。
3、目前CDN主要有蓝汛和网宿两个内地厂家,但一线互联网公司也开始自己搞CDN了。
任何一个介绍CDN的文档里面都会提到CDN的两个核心理念:
1、根据一定策略优化网站访问(就近访问是最基本的)
2、通过在传统DNS里面把要加速的域名NS或者CNAME到GSLB,实现对传统DNS过程的接管
OK,问题来了,我们如何知道一个互联网域名是否用到了CDN,用了几个,部署在哪里?
以www.163.com作为例子分析下:
公司内网宽带用的是深圳电信的,我们来看看nslookup结果:
Server: dc01.delcomhk.com
Address: 192.168.1.26
Non-authoritative answer:
Name: 163.xdwscache.glb0.lxdns.com
Addresses: 113.107.112.214, 219.128.78.74, 113.107.56.96
Aliases: www.163.com, www.163.com.lxdns.com
这里解析出了3个地址,很容易查到,这三个地址分别属于广东湛江电信、广东佛山电信和广东揭阳电信。
这三个地级市,正好横跨整个广东省。由此可见,网易在广东电信的CDN就在这三个地方。
我们再在一台北京联通机房的生产系统上看看:
[root@BJ-MSPRG-AP2 /]#nslookup www.163.com
Server: 202.106.0.20
Address: 202.106.0.20#53
Non-authoritative answer:
www.163.com canonical name = www.163.com.lxdns.com.
www.163.com.lxdns.com canonical name = 163.xdwscache.glb0.lxdns.com.
Name: 163.xdwscache.glb0.lxdns.com
Address: 111.202.57.27
Name: 163.xdwscache.glb0.lxdns.com
Address: 125.39.1.138
111.202.57.27和125.39.1.138,一个是北京联通的地址,一个是天津联通的地址。
与前面在广东电信下解析出的三个地址完全不同,这就实现了所谓的CDN就近访问。
如果大家还有什么不明白的地方可以在官网找我们的CDN技术工程师的,CDN技术工程师在行业内拥有十几年的经验了,所以会比小编回答的更加详细专业。官网链接www.yisu.com