CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,
组成
CDN由以下几个关键技术组成:
- 内容缓存设备
- 内容交换机
- 内容路由器
- CDN内容管理系统
内容缓存设备
:是CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可以缓存静态web内容和流媒体内容,实现内容的边缘传播和存储,以便用户可以就近访问
内容交换机
:处于用户接入集中点,可以均衡单点多个内容缓存设备的负载,并对内容进行缓存负载平衡及访问控制
内容路由器
:负责将用户的请求调度到适当的设备上。
内容管理系统
:负责整个CDN的管理,作用是进行内容管理,如内容的注入和发布、内容的分发、内容的审核、内容的服务等
功能
cdn具有一下几个功能:
- 节省骨干网宽带,减少带宽需求量
- 提供服务端加速,解决由于用户访问量大造成的服务器过载问题
- 服务器商能通过cache技术在本地缓存用户访问过的web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高首屏加载速度
- 克服网站分布不均问题,降低网站自身建设和维护成本
- 降低‘通信风暴’的影响,提高网络访问的稳定性
CDN原理
基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或者网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户的请求。
流程
源服务器push内容到CDN,在用户每次请求页面的时候,相对应的边缘服务器就返回内容给用户,这样用户就不用每次都向源服务器请求数据;
如果源服务器没有把网页内容提前给CDN进行备份,那么当用户请求网页的时候,CDN就得向源服务器索取网页内容了,也叫做pull;
问题:
- 服务器过载怎么办?
- 通过负载均衡来解决,把用户的请求转移到没有超载的缓存服务器上去
- 负载均衡怎么实现?
- 采用任播的通信方式,服务器对外都有同样的一个ip地址,在收到请求后,由离用户最近的服务器来作出响应
- 回源怎么实现?
- 当cdn缓存服务器中没有符合用户要求的资源的时候,缓存服务器会请求上一级的缓存服务器,当所有的缓存服务器中都没有符合要求的资源的时候,就会到源服务器中去寻找对应的资源。
- 什么时候触发回源?
- 没有资源,资源过期或者缓存的资源不是缓存资源等情况