05.31 淘宝首页全球响应速度这么快的原因-CDN加速

简介

CDN是大型互联网公司架构不可缺少的一环,也是我们作为JAVA后端开发人员朝架构师方向成长的必经之路,这篇文章让你知晓为什么用CDN,以及CDN解决了什么问题。

场景描述

我们网站中会有很多静态资源,比如js、css、图片等等,就以图片展示为例。

假设我们现在有一个网站:www.tony.com,图片通过/images路径访问,比如访问logo.png的地址是:www.tony.com/images/logo.png。

我们的html页面是这样引用的:

淘宝首页全球响应速度这么快的原因-CDN加速

客户端直接访问服务器访问图片信息

在小型系统、访问量小流量少的系统中这么做是可以的。

大型系统架构中会有三个问题:

第一:带宽压力大。BAT这个级别的用户量,如果都访问一个区域的服务器,网络运营商压力山大,如果真的怼到一个区域,需要单独做网络升级。

第二:系统无法保障高可用。全球用户请求全部怼到一个区域,如果出现运营商级别的网络故障,会导致系统中断服务。比如微信出现的多次故障,都是挖掘机背锅(挖断了光缆)。

第三:用户体验差,响应慢。大型企业面临的是跨区域,跨国家的网络环境,国内的不同地区的网络条件都有很大差别,更何况是全球化的大型企业。比方说,美国用户访问一个部署在四川成都的网站,响应时间肯定要比直接访问美国本土的网站要慢很多,毕竟信号传输的距离都远了不止一星半点。

这是大型高并发系统开发中的技术难点,接下来我们分析一下解决方案

上次有人问我怎么学的JAVA架构知识,我在这说一下吧,关于分布式高并发系统开发技术的学习,我是按照下面这些知识点去学习的,手上有一些学习的视频资料,有需要的可以私信我,分享给大家。

淘宝首页全球响应速度这么快的原因-CDN加速

互联网高并发分布式系统开发必须掌握的知识

解决:CDN加速

CDN加速意思就是在用户和我们的服务器之间加一个缓存机制。类似JAVA开发中我们在应用和数据库之间加一个redis分布式缓存。

淘宝首页全球响应速度这么快的原因-CDN加速

加了CDN之后的请求流程

1、 为什么加了CDN就解决了上面三个问题?

大型的专业CDN服务商全球各地都有服务器,它把用户请求分配到就近的服务器。从而解决了带宽、高可用、响应慢的问题。术业有专攻,我们这里实际就是借助了CDN服务商,当然,BAT这些公司,自己有专门做CDN这块的业务。

2、这个缓存关系怎么对应起来的?

请求 -> http://static.tony.com -> cdn.tony.xxx.com -> 缓存 -> www.tony.com

我们使用CDN之后,服务商会提供一个子域名,比如static.tony.cdn.com,我们可以在后台配置与这个子域名相对于的源域名(www.tony.com),形成一个绑定关系(这个环节你可以自己去看看阿里云,七牛云的CDN操作文档)。

同时,我们系统html页面中访问logo.png的方式也发生了变化,不再是直接访问自己的服务器,而是通过指定域名去访问cdn提供的子域名(static.tony.com 这个子域名 通过CNAME配置把请求转发到CDN子域名)。

这就是大型互联网公司的网站为什么那么快的原因之一,这个CDN加速的环节你明白了嘛?

可以自己去弄个免费CDN玩一下哦,理论+实战掌握的才更牢固

淘宝首页全球响应速度这么快的原因-CDN加速

关注/转发 就是最好的支持


分享到:


相關文章: