Open minhuaF opened 6 years ago
一般别人问前端性能优化的时候,都会有个cdn加速的答案,可是对于cdn加速,并不是说自己可以顺便搭建的,就算要搭建也是需要规划和搭建缓存分发服务器,成本比较大。
有幸负责公司移动端web项目的cdn部署,刚接到需求的时候还是比较紧张的,毕竟这个如果工程是自己搭建的话,工作量还是比较大的.......当你很紧张地科普自己的背景知识的时候。。。
运营处给你丢过来一份文件,说只需要填好这个文件就好了,我们找的是第三方cdn服务商....
额....好吧,既然已经找好了,那就填就是了,结果。。 部署完之后,把我们的后台弄坏了,主要原因是cdn服务商到我们服务器的时候,不是转发用户原来的链接,而是直接新建一个请求,导致我们获取不到用户的真实请求参数,一系列的鉴权和防爬什么的都gg了。。。背了大锅,不过这个也是因为对接之前没有了解清楚我们目前的情况以及cdn的原理导致的。
教训就是要清楚所有的情况再做决定,不然会很尴尬。。。
好了,悲剧介绍完毕了,接下来说下这个过程中,对cdn的一写概念的理解。。。预告,了解完之后估计你会剁手....
分几个点来说:概念,原理,目前的状况,痛点,以及新的cdn模式....期待吧?又有小惊喜了
CDN (Content Delivery Network) ,中文名内容分发网络。解决互联网上影响传递速度和稳定性的问题,使内容传递的更快和更稳定。
通过构建网络分发点,减少主服务器的网络传输压力,将链接到IP网络上的内容迅速分发到用户终端。接入cdn的主要流程组成有初始服务器、缓存服务器、重定向DNS服务器和内容交换服务器。 初始服务器:一般指的就是我们部署内容的服务器,是信息的源头,俗称源站; 缓存服务器:分布在各个地方,用户存储初始服务器的部分内容或全部内容(要缓存哪些内容,是通过机制来配置的,这里一般都有一个缓存机制策略的制定); 重定向DNS服务器:DNS是什么,就是域名解析,这个的意思就是用户打开域名的时候,会经过域名解析系统,帮我们找到对应域名的主机ip,再把用户的请求发送到对应的主机;重定向DNS服务器就是为用户提供最近的服务器IP地址,减少源站网络的压力; 内容交换服务器:总感觉这个比较6的样子...这个负责的是整个网络中各个缓存服务器之间的负载均衡的...什么是负载均衡,怎么实现负载均衡...我也母鸡,百度一下.. 呼..... 一口气说了那么多,都是看着百度百科记下来的。。。
经过一番百度之后,基本把CDN相关的一些概念和原理已经弄清楚了。之后就是看下如果要实践的话,一般需要做什么,以及目前会有哪些相关的解决方案...
目前做CDN服务的公司并不多,而且都是传统下来的公司,因为要提供CDN服务,需要大量的服务器用于加速节点,这个成本是很高的,而且不是随便安置,还要有根据不同地区的访问量进行分布。所以结论就是CDN服务的优劣是直接受限于服务器的数量多少和地域分布情况的,然后成本就上去...用户使用起来就很尴尬了....
登登登登.....
由于上面的痛点,所以就有了一个创新型CDN模式,星域的出现。创新在于共享经济的模式,用的同时还可以为其他人提供服务赚取收益。星域生产了硬件,用户可以用来存储资源,同时也是一个加速器,星域会对这些加速器进行处理...详情看星域就好了
以上已经把CDN的大概介绍了一下,其实知道了这个之后,我感觉还是对CDN一脸懵逼,其实里面还有比较多的实现细节没有涉及,主要是实现上的细节,比如:加速运行商、加速区域、缓存策略、监控链接、缓存内容等等,需要根据源站的需要以及实际的资源进行配置。
目前就这么多,有表述错误的还请大家提一下,谢谢,over
一般别人问前端性能优化的时候,都会有个cdn加速的答案,可是对于cdn加速,并不是说自己可以顺便搭建的,就算要搭建也是需要规划和搭建缓存分发服务器,成本比较大。
有幸负责公司移动端web项目的cdn部署,刚接到需求的时候还是比较紧张的,毕竟这个如果工程是自己搭建的话,工作量还是比较大的.......当你很紧张地科普自己的背景知识的时候。。。
运营处给你丢过来一份文件,说只需要填好这个文件就好了,我们找的是第三方cdn服务商....
额....好吧,既然已经找好了,那就填就是了,结果。。 部署完之后,把我们的后台弄坏了,主要原因是cdn服务商到我们服务器的时候,不是转发用户原来的链接,而是直接新建一个请求,导致我们获取不到用户的真实请求参数,一系列的鉴权和防爬什么的都gg了。。。背了大锅,不过这个也是因为对接之前没有了解清楚我们目前的情况以及cdn的原理导致的。
教训就是要清楚所有的情况再做决定,不然会很尴尬。。。
好了,悲剧介绍完毕了,接下来说下这个过程中,对cdn的一写概念的理解。。。预告,了解完之后估计你会剁手....
分几个点来说:概念,原理,目前的状况,痛点,以及新的cdn模式....期待吧?又有小惊喜了
概念
CDN (Content Delivery Network) ,中文名内容分发网络。解决互联网上影响传递速度和稳定性的问题,使内容传递的更快和更稳定。
原理
通过构建网络分发点,减少主服务器的网络传输压力,将链接到IP网络上的内容迅速分发到用户终端。接入cdn的主要流程组成有初始服务器、缓存服务器、重定向DNS服务器和内容交换服务器。 初始服务器:一般指的就是我们部署内容的服务器,是信息的源头,俗称源站; 缓存服务器:分布在各个地方,用户存储初始服务器的部分内容或全部内容(要缓存哪些内容,是通过机制来配置的,这里一般都有一个缓存机制策略的制定); 重定向DNS服务器:DNS是什么,就是域名解析,这个的意思就是用户打开域名的时候,会经过域名解析系统,帮我们找到对应域名的主机ip,再把用户的请求发送到对应的主机;重定向DNS服务器就是为用户提供最近的服务器IP地址,减少源站网络的压力; 内容交换服务器:总感觉这个比较6的样子...这个负责的是整个网络中各个缓存服务器之间的负载均衡的...什么是负载均衡,怎么实现负载均衡...我也母鸡,百度一下.. 呼..... 一口气说了那么多,都是看着百度百科记下来的。。。
经过一番百度之后,基本把CDN相关的一些概念和原理已经弄清楚了。之后就是看下如果要实践的话,一般需要做什么,以及目前会有哪些相关的解决方案...
目前做CDN服务的公司并不多,而且都是传统下来的公司,因为要提供CDN服务,需要大量的服务器用于加速节点,这个成本是很高的,而且不是随便安置,还要有根据不同地区的访问量进行分布。所以结论就是CDN服务的优劣是直接受限于服务器的数量多少和地域分布情况的,然后成本就上去...用户使用起来就很尴尬了....
登登登登.....
由于上面的痛点,所以就有了一个创新型CDN模式,星域的出现。创新在于共享经济的模式,用的同时还可以为其他人提供服务赚取收益。星域生产了硬件,用户可以用来存储资源,同时也是一个加速器,星域会对这些加速器进行处理...详情看星域就好了
以上已经把CDN的大概介绍了一下,其实知道了这个之后,我感觉还是对CDN一脸懵逼,其实里面还有比较多的实现细节没有涉及,主要是实现上的细节,比如:加速运行商、加速区域、缓存策略、监控链接、缓存内容等等,需要根据源站的需要以及实际的资源进行配置。
目前就这么多,有表述错误的还请大家提一下,谢谢,over