CDN Content Deliery Network 内容分发网络 将内容从源站传输到用户端 加速网络访问速度 静态资源缓存
CDN架构
LocalDNS----CDN DNS CANME
CDN DNS
获取全局负载均衡IP
获取局部负载均衡IP
找到最优CDN节点IP
全局负载均衡服务把CDN节点iP返回给用户
用户请求CDN节点,获取数据
没有数据请求上一级缓存,直到服务器节点
内容路由
CDN负载均衡系统实现CDN的内容路由功能。
将用户的请求分发到CDN中的最佳节点
两个层次:全局的负载均衡器Global Server Load Balance 本地负载均衡 Load Balance
实现方法:DNS系统,应用层重定向,传输层重定向
内容分发技术
源内容到CDN节点的Cache过程,主流内容分发实现方式:
PUSH:主动分发,内容管理系统发起,将内容从源分发到CDN的Cache节点。
PULL:被动分发技术,用户请求驱动,用户请求内容中miss,从源中或者其他CDN节点中实时获取内容
内容存储技术
源内容存储,存储量大,分布式存储系统
CDN节点存储,主要是功能和性能,内容格式支持,缓存命中率高,可能性,稳定性
内容管理技术
CDN内容管理,提高内容服务的效率,提高CDN的缓存利用率
三个方面,CDN内地内容索引,CDN本地内容拷贝,CDN本地内容访问状态信息收集
CDN系统架构的关键技术
协作式推送技术
源服务器新内容主动推送到CDN节点,CDN节点相互共享,避免复制&更新成本,CDN维护CDn节点与源内容映射表。
非协作式拉取技术
用户请求重定向到距离最近的CDN节点,如果CDN节点没有此内容,向源服务器请求内容并缓存
协作式拉取技术
第一步同上,当CDN节点没有此内容是,会向其他CDN节点去请求内容,避免直接请求源服务器,减少原服务器带宽,技术不太成熟。
为什么使用CDN
1.加速网络延迟。2缓解原服务器压力,3解决互联互通的难题。4解决网站突发流量的问题。5合理利用互联网资源.6全面预防单点故障。7改善用户的访问质量和体验。8提供全面准确和详细的数据统计。9防黑客攻击ddos。
一致性的保证
主动分发不存在数据一致性问题。
被动抓取缓存更新不及时,数据一致性问题。设置缓存的失效时间,可以达到最终一致性。如果用户对一致性要求比较高可以使用主动分发,也可以使用?version=xx的技术,也可以每次上传图片返回的url是不同的方式来代替版本号,不推荐。
APPs分发,版本号控制,客户端随意Random一段时间sleep,使得错峰分发。不同的渠道号APPs版本不同。