OSS+CDN
# 一、OSS+CDN

# OSS
对象存储服务(Object Storage Service,简称 OSS) (opens new window),以 HTTP RESTful API
的形式对外提供服务,提供的海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件,一般用来存储静态资源,比如静态网页,静态脚本,视频文本,图片等。类似于云盘,但是是以HTTP RESTful API形式对外提供资源访问接口,即Web Service服务,资源存在对应的云服务厂商提供的云存储
上,以流量计费
,静态资源对外访问不消耗站点服务器自身的带宽
,对于服务器带宽相对小且需要对外提供大量静态资源访问的站点起到一定程度的优化速度
# 优点
- 任意大小数据对象存储
- 弹性扩容:支持按量付费模式,按实际使用量付费,无需提前一次性投入。同时,自动弹性扩展,不限用户存储的容量和文件数目,满足EB级海量存储需求
- 高可靠、高可用:在服务器故障时、光纤挖断时,可自动切换实现业务连续性,通过容错设计,实现了 99.995% 的可用性
- 安全存储:数据访问的认证、授权、加密、以及行业法规遵从,支持多项合规认证,比如 KMS 加密、WORM 认证等
- 流量监控:提供数据访问流量监控,实时查看
- 集成SDK:支持各种编程语言调用接口
# CDN
CDN (内容分发网络) 指的是一组分布在各个地区的服务器。这些服务器存储着数据的副本(缓存),因此服务器可以根据哪些服务器与用户距离最近,来满足数据的请求。CDN 提供快速服务,较少受高流量影响,CDN这个技术其实说起来并不复杂,最初的核心理念,就是将内容缓存在终端用户附近。
# 优点
CDN 被广泛用于传输 stylesheets (CSS) 和 JavaScript (JS) 等静态资源,像 Bootstrap,Jquery,Vue 等。对这些库文件使用 CDN 技术,有以下几点好处:
- 通过 CDN 向用户分发传输相关库的静态资源文件,可以降低我们自身服务器的请求压力。
- 大多数 CDN 在全球都有服务器,所以 CDN 上的服务器在地理位置上可能比你自己的服务器更接近你的用户。地理距离会按比例影响延迟。
- CDN 已经配置了恰当的缓存设置。使用 CDN 节省了在你的服务器中对静态资源文件的配置,就近原则选择最近的服务节点分发缓存资源。
CDN的核心算法采用的是边缘计算+分布式网络
,一般企业正常开发采用CDN+OSS配套使用,比如抖音、bilibili等视频网站还有基本上所有的直播网站都会采用OSS和CDN对视频流和静态资源进行加速,使用OSS 存储静态资源,使用CDN对静态资源加速,基本上所有的云服务厂商都把这两者联系了起来,配置也做了优化,只需要点几步就完成了。
# 二、实操
# Step1:登录腾讯云

# Step2 : 进入对象存储(OSS)控制台

# Step3 : 创建存储桶
更改为**“公有读私有写”**,否则别的人在浏览器上无法访问此资源,高风险其实也没多大风险,如果有人恶意不断访问资源刷流量,这个是违法犯罪的,可以报警且后台监控可以看到访问的IP归属地。
默认什么都不做,点击创建
点击左边存储桶列表后可以看见所有的存储桶,前三个是我以前创建的,用来做JS资源和博客静态资源存储的,可以创建很多个
# Step4 : 测试使用
点击存储桶进入,然后上传一张超高清的图片
点击“详情”,可以查看资源信息,和访问地址
复制访问看看
打开控制台看看访问的速度,我这里用的4G网络,显示的是20.8MB的资源,只用了1.45s;可能已经达到了我本地4G带宽的上限,如果我访问的网络再好一点,用时可能会更少,所以oss云存储对静态资源的速度起到了很好的加速效果。
# Step5 : 与CDN配套使用
从Step4可以看出来,最后的访问地址**“https://test-1310065837.cos.ap-chengdu.myqcloud.com/wallhaven-rrj6qw.png”** 非常的复杂,不便于记忆,如果像这样**“https://cdn.xinyusama.com/blog/202309041435557.jpg”**就特别好记忆了,所以就可以用到CDN,CDN一方面不仅是再一步优化速度,另一方面也可以将域名和资源地址做覆盖映射,那我们就还需要一个域名,域名这里就不细讲,可以去搜一搜教程,申请备案一个不复杂,云服务官网教程也写的很详细,申请到完成可能要半个月。
平台搜索CDN,进入控制台
# Step6 : 添加CDN域名
加速域名:需要一个域名的子域名;
源站类型:使用COS源即OSS,腾讯云的COS,阿里云的OSS,还是华为云的OBS ,尽管它们的名称不一样,但都代表的是对象存储。
回源协议:这里做测试就采用HTTP即可,配置HTTPS 需要给CND相应的子域名配置SSL
源站地址:选择对应的COS存储桶
到最后一步配置DNS的CNAME,即对原来的COS资源地址做域名映射,将原来复杂的地址转到我们自己的域名(子域名)
大致流程:我们的域名-->DNS的CNAME跳转-->资源地址
去域名解析里面添加
配置完成后,回到CDN控制台
我们就可以输入配置的**“子域名+COS资源路径”去访问了,没配置的地址为“https://test-1310065837.cos.ap-chengdu.myqcloud.com/wallhaven-rrj6qw.png”** ,我们现在就可以使用**“http://test.xinyusama.com/wallhaven-rrj6qw.png”**,再次打开控制台看访问速度,原来没用CDN是1.45s,用了CDN只需要1.04s,这张高清图片20.8MB,如果资源再大点儿,没有使用CDN和使用CDN的差距会逐步拉大。
# Step7 : 流量监控
# Step8 : 流量价格
价格大概几块钱1个G,弹性区间,学习测试做一些汇报及博客,一个月也用不到一块钱,用多少扣多少,如果企业级一般购买流量包,买的越多优惠越大,多买多送。