cdn基本原理
最简单的cdn网络由一个dns服务器和几台缓存服务器组成:
①当用户点击网站页面上的内容url,经过本地dns系统解析,dns系统会最终将域名的解析权交给cname指向的cdn专用dns服务器。
②cdn的dns服务器将cdn的全局负载均衡设备ip地址返回用户。
③用户向cdn的全局负载均衡设备发起内容url访问请求。
④cdn全局负载均衡设备根据用户ip地址,以及用户请求的内容url,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户ip地址,判断哪一台服务器距用户最近;根据用户所请求的url中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的ip地址。
⑥全局负载均衡设备把服务器的ip地址返回给用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
cdn关键组件
lvs做四层均衡负载
dr模式
双lvs做active-active互备
负载均衡算法采用wrr
tengine做七层负载均衡
主动健康检查
spdy v3支持
swift做http缓存
高性能cache
磁盘(ssd/sata)
cdn基础架构
cdn部署架构