摘要: 本文作者:白金,《CDN 之我见》是一个系列文章,共由三个篇章组成,分为“原理篇”、“详解篇”和“陨坑篇”。本篇章属于“详解篇”的第一部分:网络优化。详解篇适合那些接触过 CDN,对 CDN 多少有些了解,但很多知识点知其然而不知其所以然,想深入了解学习的同学。
本文作者:白金
上篇回顾:《CDN 之我见》系列二:原理篇(缓存、安全)https://yq.aliyun.com/articles/599253
《CDN 之我见》是一个系列文章,共由三个篇章组成,分为“原理篇”、“详解篇”和“陨坑篇”。本篇章属于“详解篇”的第一部分:网络优化。详解篇适合那些接触过 CDN,对 CDN 多少有些了解,但很多知识点知其然而不知其所以然,想深入了解学习的同学。
众所周知,当前是互联网时代,无论大大小小的公司,无论是互联网企业还是传统企业,统统离不开一个“网”字,而相比之下,硬件服务器、操作系统、应用组件等,在没有特殊必要需求的话(如果硬件不坏、软件或系统无急需修复的 BUG、无急需实现的客户需求),这些都是不用去主动改变。
相比之下网络则不同,最频繁变化的,最不想变化而又最无奈被动跟随变化的,就是网络质量,而 CDN 的缩写也是 Content Delivery Network,因此在详解篇我会把重点放在网络上。其它的部分相对都好把控,但网络问题存在一定的随机性和不可预测性。如果我们可以驾驭网络,相信在这个互联互通的互联网时代,我们将变得如虎添翼、叱咤风云!
为此,这里提出我对 CDN 的另一个解读:CDN - Can Do sth. on Network(我们可以在网络层面搞些事情)
提到优化,其实从 OSI 七层模型来讲(准确说是 TCP/IP 模型,二者是不同的,具体可以 google 一下),从物理层到应用层其实都是可以优化的,优化手段各异。
L1 物理层:硬件优化(升级硬件设备,承载更多业务)
L2 链路层:资源好坏(寻找更快的网络节点、确保 Lastmile 尽量短)
L3 路由层:路径优化(寻找 A 到 B 的最短路径)
L4 传输层:协议栈优化(TCP Optimization)
L7 应用层:能做的事情太多了(主要面向 HTTP 面向业务)
针对 CDN 而言,常用的是 L4 和 L7 的优化,例如上图所述。
- 分布式就近部署:确保网民访问到的 Cache Server 离他是最近的。
- 策略性缓存:针对明确已知的图片、CSS、JS 等,若源站更新并不快,但却没有明确高值缓存多长时间,