瞎聊聊CDN相关话题

CDN的相关知识

背景

大家同时看视频的时候,会给内容服务商带来巨大的流量压力,如果是1千万用户同时在线观看一个1080p(理论带宽4Mbps)的视频,那就是40Tbps 的带宽,这是相当恐怖的带宽。

为了避免高发流量时候的拥塞,CDN技术就出来了,它利用了数学运算法则来处理内容的动态路由算法技术,有效地解决了这个难题。CDN服务鼻祖是Akamai公司

原理

用简单的说法就是把内容缓存在终端用户附近(在计算机领域,缓存真的是太好用了,在每个领域,一旦负载大了,就利用缓存+最优算法)

因为这项技术是把内容进行了分发,所以,它的名字就叫做CDN——Content Delivery Network,内容分发网络

具体来说,CDN就是采用更多的缓存服务器(CDN边缘节点),布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。(就跟狗东在每个省都放了一个仓库,所以发货快原理差不多)

CDN=更智能的镜像+缓存+流量导流

CDN并不是只能缓存视频内容,它还可以对网站的静态资源(例如各类型图片、html、css、js等)进行分发,对移动应用APP的静态内容(例如安装包apk文件、APP内的图片视频等)进行分发。

举例

具体步骤:

①、当用户点击APP上的内容,APP会根据URL地址去本地DNS(域名解析系统)寻求IP地址解析。

②、本地DNS系统会将域名的解析权交给CDN专用DNS服务器

③、CDN专用DNS服务器,将CDN的全局负载均衡设备IP地址返回用户。

④、用户向CDN的负载均衡设备发起内容URL访问请求。

⑤、CDN负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的缓存服务器

⑥、负载均衡设备告诉用户这台缓存服务器的IP地址,让用户向所选择的缓存服务器发起请求。

⑦、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

⑧、如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要网站的源服务器请求内容。

⑨、源服务器返回内容给缓存服务器,缓存服务器发给用户,并根据用户自定义的缓存策略,判断要不要把内容缓存到缓存服务器上。

好处

  1. 解决了大带宽的时延问题
  2. 内容进行分发后,源服务器的IP被隐藏,受到攻击的概率会大幅下降。
  3. 当某个服务器故障时,系统会调用临近的健康服务器,进行服务,避免对用户造成影响。

参考链接

https://www.zhihu.com/column/p/52362950


瞎聊聊CDN相关话题
http://example.com/2020/12/01/2020-12-01-瞎聊聊CDN相关话题/
Author
Neko kiku
Posted on
December 1, 2020
Licensed under