随笔

使用腾讯云 COS + CDN 小记

前段时间开始使用 Banner 图片了嘛,而且有时候图片确实比文字更省力,所以尝试性的的接入了腾讯云的对象存储 COS,不用太担心会占满服务器的带宽。

大概是上上周去 COS 看过,感觉扣费项太繁琐了,七八种扣费项目头都要晕了,然后就下单了没付款,之后有个腾讯云的客户经理打来电话。

cos-pay-items.png

了解我的困惑之后说并没有那么复杂,其实只有两个费用,一个是“存储费用”,一个是“外网下行费用”, 没有其他的扣费项,之后就先加了个微信。

IMG_041788F69AE3-1.jpeg

昨天下午正好有时间,就买了外网下行的资源包,每月 10G,六个月 20 多块钱。

接着配置域名 CNAME,申请 CDN 的 SSL 证书,一切还算顺利,最后把文件从服务器上下载下来然后上传到 COS 中,接着惊喜就来了。

COS 延迟超高

IMG_5974.jpeg

IMG_5977.PNG

速度慢的是访问 COS 文件的,速度快的是直接访问服务器的,两者都是在腾讯云上海的数据中心,访问速度差了 4 倍多。

各种方式测试之后还不行就提交了工单,奇葩的回复就来了:

“您好,您这边两个请求协议不同,http1.1 和 h2 ,h2请求效果大部分情况下比http1.1 快”

“cos和cvm不一样,cos适合用于存放文件。不是用来做内容分发的。 cos这里比cvm架构更复杂,而且比cvm多很多模块,比如权限检验等,因此有一定的耗时差异是正常的,如果您需更低的耗时体验,可接入CDN内容分发网络来进行加速。”

“您好,看cos这块也没什么异常,建议您可以接入CDN加速看看,在CDN侧也开启http2,看下耗时方面能否再下降一点哈”

反正一句话,我们 COS 这么高的延迟就是没问题,想要正常的速度就去用 CDN,得,都入坑了还能咋办,接着继续呗(其实主要是看到 CDN 也有免费六个月的使用,然后买的“外网下行流量”也没找到退款的地方)。

第二天经过工单沟通给退了,退到账户余额了,另外今天出了账单,可以看到还有两个付费项需要关注,“请求次数”和“CDN 回源流量”。

cos-billing.png

另外账单的精度是到分的,所以目前到厘的这种理论上还不会扣费,资源包暂时就不买了,看了下貌似也就打了个七折,暂时用不上,就让他扣退回来的钱好了。

接入 CDN

也没什么复杂的,配置了一个 TXT 指向,通过之后再配置 CNAME 就完事了,后面可能还有一些安全配置,类似于 referer 白名单,IP 限流之类的东西,比如下面的 20QPS,理论上来说如果手动以极快的速度刷新网页就会触发。

ip-limit.png

配置过程中提示之后还有扣费项:COS 回源费用,HTTPS 请求费用(目前每月 300W 次免费额度),QUIC 请求费用,真是麻烦,直接组合起来合并扣费不行吗?

并且忽然发现,之前买的 COS 的外网下行流量岂不是就没用了 (ー`´ー),继续工单咨询,文档搞得乱七八糟的也不知道到底会扣哪些。

tencent-cdn-cos.png

所幸结果是好的,速度相比直接访问服务器快了一半的时间,而且不占用服务器的带宽了。 cdn-network-monitor.jpg

适配 CDN

因为本站是预生成的博客内容,而我也不打算重新生成一遍,所以就在获取页面的时候进行动态替换,四行代码搞定。

后面可能这里要改成懒加载,目前没改的原因是如果滚动到文章一半的地方强制刷新页面,因为图片没高度可能会造成页面闪烁。

dynamic-replace-cdn.png

回退手段

为了便于回退,所以目录是直接照搬到 COS 的,只是把所有向 note.lilonghe.net 发送的资源请求替换成向 cdn.lilonghe.net,所以如果需要回退,只需要把 cdn.lilonghe.net 的域名解析指向服务器就可以完成回退了。

本文链接:https://note.lilonghe.net/post/use-tencent-cloud-cos-and-cdn.html

-- EOF --