[科普]一篇文章了解 CDN 原理,附实际应用讲解

伯虔
伯虔
发布于 2021-04-08 / 3632 阅读
8

[科普]一篇文章了解 CDN 原理,附实际应用讲解

1、CDN 简介

官方描述

CDN即内容分发网络(Content Delivery Network)的简称,是建立在承载网基础上的虚拟分布式网络,能够将源站内容(包括各类动静态资源)智能缓存到全球各节点服务器上,方便用户就近获取内容,提高资源的访问速度,同时分担了源站压力。

通俗描述

当全国各地不同的用户访问某个资源的时候,CDN 能够智能选择距离用户最近、最优的服务器去提供服务,避免由于跨区域跨、网络运营商带来的加载慢问题。
99_01.png

举个例子

以淘宝物流和京东物流为例:

  • 淘宝:不论买家地理位置如何,购买后北京卖家都是从北京发货
  • 京东:根据买家位置,智能选择就近的仓库进行发货

传统服务器架构就好比淘宝。资源存储在北京电信服务器上,不论访问者身在何处使用何种网络,都是从北京的电信服务器上读取资源。

使用 CDN后的网站架构就好比京东物流。资源存储在全国各地的 CDN 节点服务器中,根据访问者地理位置与网络,智能选择最优的服务器。

拓展

PCDN(P2P CDN)大家平时可能也接触过,PCDN单价较低,更适用于大流量内容分发,他是将部署在机房的边缘节点下沉到用户设备中,比如电脑、手机、路由器。

最典型的例子:利用闲置带宽挂机赚取金币等,然后兑换现金,比如:红米路由器
99_02.png

2、使用 CDN 后访问速度提升的原因

  • CDN 会把资源缓存到各节点服务器上,类似反向代理,避免每次请求都从源站拉取资源;
  • CDN 能够智能选择离访问者最近的节点服务器;
  • CDN 能够智能选择与访问者最匹配的网络运营商。
    99_03.png

3、使用 CDN 后会有什么问题

  • 内容缓存问题;(所以我们的口播修改的时候会涉及到成本问题)
  • 盗刷产生的高额费用,所以最好配合防盗链、鉴权等使用;

4、CDN 使用场景

  • 图片小文件:社交、博客、摄影类网站,用途最为广泛
  • 视频点播:短视频、点播类网站
  • 大文件下载:应用分发、更新版本,文件分享类网站
  • 动态加速:涉及到动态请求,比如用户登录、评论,商品加入购物车等业务

5、使用人数较多的 CDN 厂商

  • 阿里云:kunlun.com
  • 腾讯云:.cdn.dnsv1.com、.dsa.dnsv1.com
  • 七牛云:*.qiniudns.com
  • 又拍云:*.aicdn.com

6、CDN 源站类型

源站为对象存储:方便管理,节省硬件采购和运维人员的支出
源站为服务器 IP:一般用于接口请求加速

7、案例分析

CDN 在喜马拉雅侧的应用

7.1 资源分发加速

腾讯云:aod.cos.tx.xmcdn.com
阿里云:imgopen.xmcdn.comaudio.ali.xmcdn.com
阿里全球加速:audio.xmcdn.comvod.xmcdn.com

https://aod.cos.tx.xmcdn.com/storages/586e-audiofreehighqps/D4/65/CKwRIW4EEZBVADZ-YACM4mf_.mp3

7.2 图片处理

原图: https://imgopen.xmcdn.com/storages/9690-audiofreehighqps/AB/5C/CMCoOSIDZWxOAAqroABfHCH1.jpg
小图: https://imgopen.xmcdn.com/storages/9690-audiofreehighqps/AB/5C/CMCoOSIDZWxOAAqroABfHCH1.jpg!op_type=5&upload_type=album&device_type=ios&name=mobile_small&magick=png
中图: https://imgopen.xmcdn.com/storages/9690-audiofreehighqps/AB/5C/CMCoOSIDZWxOAAqroABfHCH1.jpg!op_type=5&upload_type=album&device_type=ios&name=medium&magick=png
大图: https://imgopen.xmcdn.com/storages/9690-audiofreehighqps/AB/5C/CMCoOSIDZWxOAAqroABfHCH1.jpg!op_type=5&upload_type=album&device_type=ios&name=mobile_large&magick=png

7.3 音视频处理

专辑 ID:6233693
声音 ID: 27381506
原始音频:https://aod.cos.tx.xmcdn.com/group71/M05/B0/12/wKgOz146kizB4qIOACn-AYktbM0139.mp3
转码后的带有口播的音频:http://open.fdfs.xmcdn.com/group99/MP3/64/OP/3/TtwKgJL1hbviHxMoGYACme-poxu40198.mp3

7.4 防盗链处理

专辑 ID: 30816438
声音 ID: 233368166
播放 URL(2 小时有效):https://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/4f29-audiopay/12/2B/CMCoOR4DRjXgAPGzrgBYTh68.m4a?sign=7c9feb06c3646d64693e0bd014c8d700&buy_key=7889008128&token=9368&timestamp=1614581507&duration=1956

这里可以实际操作下:

公开:https://qn-public.timhbw.com/test.jpeg   
私有:https://qn-private.timhbw.com/test.jpeg

7.5 便捷设置响应头

Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: *

99_04.png