概述
CDN(Content Delivery Network,内容分发网络)指基于部署在各地的机房服务,通过中心平台的负载均衡、内容分发、调度的能力,使用户就近获取所需内容,降低网络延迟,提升用户访问的响应速度和体验度
CDN 的关键技术
CDN 的关键技术包括内容发布、内容路由、内容交换和性能管理:
- 内容发布:借助建立索引、缓存、流分裂、组播等技术,将内容发布到网络上离用户最近的中心机房
- 内容路由:通过内容路由器中的重定向机制,在多个中心机房的务器上负载均衡用户的请求,使用户从最近的中心机房获取数据
- 内容交换:根据内容的可用性、服务器的可用性及用户的背景,在缓存服务器上利用应用层交换、流分裂、重定向等技术,智能地平衡负载流量
- 性能管理:通过内部和外部监控系统,获取网络部件的信息,测量内容发布的端到端性能(包丢失、延时、平均带宽、启动时间、速率等),保证网络处于最佳运行状态
CDN 的主要特性
- 本地缓存加速:将用户经常访问的数据(尤其静态数据)缓存在本地以提升系统的响应速度和稳定性
- 镜像服务:消除不同运营商之间的网络差异,实现跨运营商的网络加速,保证不同运营商网络中的用户都能得到良好的网络体验
- 远程加速:利用 DNS 负载均衡技术为用户选择服务质量最优的服务器,加快用户远程访问的速度
- 带宽优化:自动生成服务器的远程镜像缓存服务器,远程用户在访问时从就近的缓存服务器上读取数据,减少远程访问的带宽,分担网络流量,并降低原站点的 Web 服务器负载等
- 集群抗攻击:通过网络安全技术和 CDN 之间的智能冗余机制,可以有效减少网络攻击对网站的影响
内容分发系统
将用户请求的数据分发到就近的各个中心机房,为用户提供快速、高效的内容服务,缓存内容包括静态图片、视频、文本、用户最近访问的 JSON 数据等,缓存技术包括内存缓存、分布式缓存、本地文件缓存等,缓存策略主要考虑缓存更新、缓存淘汰机制
负载均衡系统
负载均衡系统是整个 CDN 系统的核心,它根据当前网络的流量分布、各中心机房服务器的负载和用户请求的特性,将用户的请求负载到不同的中心机房或服务器上,以保用户内容访问的流畅性。负载均衡包括全局负载均衡(GSLB)和本地负载均衡(SLB)
- 全局负载均衡主要指跨机房的负载均衡,通过 DNS 解析或者应用层重定向技术将用户的请求负载到就近的中心机房上
- 本地负载均衡主要指机房内部的负载均衡,一般通过缓存服务器,基于LVS、Nginx、服务网关等技术实现用户的访问负载