惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
雷峰网
雷峰网
I
InfoQ
罗磊的独立博客
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
博客园 - 三生石上(FineUI控件)
The GitHub Blog
The GitHub Blog
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
S
SegmentFault 最新的问题
T
Threat Research - Cisco Blogs
H
Help Net Security
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CERT Recently Published Vulnerability Notes
WordPress大学
WordPress大学
T
Tenable Blog
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - Franky
A
Arctic Wolf
T
Threatpost
Scott Helme
Scott Helme
C
Cybersecurity and Infrastructure Security Agency CISA
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Exploit Database - CXSecurity.com
G
GRAHAM CLULEY
Security Latest
Security Latest
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
S
Schneier on Security
Latest news
Latest news
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com

云游君的小站

开源项目的「死与新生」 没有红包封面,但是 AI 春联…… 家·烟花·红包封面 云乐坊工作室的成立与缘起与有关的话 聊聊四元数与万向锁及其实际意义 从零开始写一个 Web Component - GitHub Corners 旋转吧!徽章! 云空调,便携小空调 char-dust 一个图片转字符画的 npm 包与示例站点 nnrm - 一个极简的 npm/yarn registry 切换管理器 做猪呢,最重要的是开心 从 Vite 与 Vue 开始的 D3 数据可视化之旅 如何找到你朋友的社交账号 写写高斯模糊——从 CSS 模糊滤镜的白边说起 如何从 Valine 迁移至 Disqus ADV 游戏引擎计划 关于我打算当老师并报考教师资格证这件事 Strato - Hexo 主题「Yun」版本宣传 PV 我与小镇与家 el-bot & mirai-ts 制作笔记 第三方评论系统之我见 人生不是一场马拉松 👴就是二次元,故尝试证明。 教你如何从零开始搭建一个属于自己的网站 使用 CDN 加速你的 GitHub Pages 网站 使用 CCDIK 或 FABRIK 实现逆向动力学 【转】三维文件格式知多少 【译】30 分钟学会 LaTeX LaTeX 使用笔记 在 macOS 下配置 OpenGL 路漫漫其修远兮 CSS 陷阱 Blender 学习笔记 Everyday Auto Xuexiqiangguo 酷 Q 使用笔记 Deepin 使用笔记 塞翁失马焉知非福 hexo-theme-yun 制作笔记 写给可爱的学弟学妹们 北线无战事 让百度收录你的 GitHub Pages 博客 搭建自己的 Minecraft 服务器 导出「你的日记」与导入「一本日记」 从来如此 卷土重来未可知 恋爱证明记 微信与象棋 关于部落冲突的二三事儿(番外)-端午事变 Travis-CI 持续集成部署 Vue 中 canvas 的自适应 大家一起吃火锅吧 Parcel.js + Vue 搭建笔记 Vue 学习笔记 【动画电影】《声之形》观后感 VS Code 配置笔记 仓生 YunYouJun/give-me-money 永远相信美好的事情即将发生 鱼与熊掌 人生本该如此。 Discourse 新一代开源论坛 Hexo 静态博客搭建笔记 Coding WebIDE 云端开发实验室 npm & yarn 常用包与命令 像夏花一样绚烂 【番剧】《月色真美》(老夫的少女心啊) 临摹一只智障女神∠( ᐛ 」∠)_ 南京之旅-记10th计算机设计大赛 Git 学习笔记 Laravel 使用笔记 Wordpress 的实用插件与主题推荐 【定格动画】交换/EXchange 我与幻星的故事 来自某夏令营的回忆 水彩原创头像尝试 云游君表情包制作计划 小说连载初尝试-《阿庫娅的星球》 仓鼠 回声 【分享】网页背景效果插件 Canvas-Nest.js 【花开物语|MAD】幹物女(WeiWei)-Bonboru! 太空 关于部落冲突的二三事儿-2 关于部落冲突的二三事儿-1 关于部落冲突的二三事儿-序
又拍云—年轻人的第一个 CDN
☁️ · 2021-05-27 · via 云游君的小站

前言 ​

距离上一次更新似乎又过去了很久,而我也成为了无聊的大人,被实习的工作压的喘不过气来。(此中又有不少波折,待尘埃落定,我再找机会记录它吧。)

我的青春更是早在不知何时已经结束了。

看,简单吧,谁也没有受伤的世界,达成了。

upyun

又拍云并非我的第一个 CDN,但它的确是我截至今日使用最久的 CDN。

而我相信它也是新站长值得一试的服务。

此中玄机,我们不妨先从 CDN 说起。

引子 ​

拜前些日子的便携小空调所赐,我的网站骤然迎来了前所未有的访问量。👴🔥 了。

以至于依托于 LeanCloud 的评论区,每日总是早早超过免费调用限额,而瘫痪不起。

小空调最初最火的几天并没有添加谷歌统计,而 Cloudflare 显示的单日数据便已 UV 破千万,PV 更是破亿。 依靠小空调页脚灰色不起眼的文字链接,我的小站从 2021-05-07 至 2021-06-07 的一个月里,谷歌统计中的用户数也达到了 411357,最高同时在线人数也见过上万的数字。

那么我是如何依靠一己之力(低成本)抗下所谓「千万级」高并发呢?

首先从架构上来说我的整个站点是一个静态网站,这也是最为重要的一点。

我的博客采用 hexo(一个静态博客框架-生成器) + hexo-theme-yun(我自定义的功能主题)进行搭建。 所有的文章在使用 Markdown 编写后,都会被编译为纯静态的 HTML 文件,也就是说它可以作为纯静态文件托管在如 GitHub Pages 等平台,而无任何后端。

这也是相比其他诸如 Wordpress、Typeecho 等博客系统最大的区别,因为此类博客系统往往意味着你需要一台额外的服务器来部署后端。 而一旦你的博客与后端产生交互,用户数不断攀升之时,对你服务器的性能(你的钱包)要求也无疑是巨大的挑战。

现在有许多可以提供静态站点托管的服务商(大善人)。(谢谢你们!)

  • GitHub Pages: 学生免费申请 Pro 账户后,可支持私有个人仓库(GitHub 国内速度欠佳)
  • Netlify: 支持私有个人/组织仓库(国内速度可能欠佳)
  • Vercel: 支持公开仓库(私有仓库须付费)(最近域名同样开始被屏蔽,国内速度可能欠佳)
  • Cloudflare Pages: 支持私有个人/组织仓库

你仅需提供静态文件,他们便可以为你托管网站,而且可以自定义域名,而无须操心其他任何后端维护的事情。

当然他们也不是万能的,这些网站免费账号往往会有一个流量带宽的限制,以及并发数的限制,且国内速度欠佳。 我此前的一个托管在 GitHub Pages 的站点,还曾见过页面出现超出并发限额的提示。

这时候便该轮到 CDN 出马了。

CDN 的全称是 Content Delivery Network,即内容分发网络。 CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

更多的内容您可以参见 CDN | 百度百科

简而言之,CDN 做的事情就是将你的站点静态文件缓存在各个城市的节点,一旦有人访问你的站点,CDN 便会让其去最近的节点取资源,使得网站的访问速度尽可能提高。也分担了站点的访问压力。

小空调最终采取的方案是 Cloudflare,Cloudflare 是一家云服务商,它同时提供了 DNS 解析、CDN、安全防护等服务。

我的域名解析便托管在其上,而其对解析的域名也默认提供了 CDN 的服务。(可自由选择开启关闭) 也正是借此,面对千万/上亿的流量我也毫无惧色,Cloudflare 本身也为很多著名网站提供了 CDN 和防护,算是值得信赖的老牌厂商。

使用 CDN 加速你的 GitHub Pages 网站 | 云游君的小站

为什么是又拍云? ​

诶,既然我这么夸 Cloudflare,为什么标题还是又拍云?

因为种种特殊原因,Cloudflare 在国内并无免费节点,因此在国内又被戏称为「减速 CDN」。

因此我的博客采用了又拍云的 CDN 服务,你也许可以发现我的主站点访问速度,相比同样内容但是托管于 Netlify 的镜像站要略快。

而国内同样也有不少云服务商,我也曾尝试过腾讯云、七牛云、阿里云的 CDN 服务。

对了,它们都有很重要的一点,那就是需要备案。所以你需要先确保的你可以接受实名备案,且你的域名是可以备案的。(即为 .com, .cn 等主流顶级域名,可参见 备案域名

  • 七牛云,每月赠送 10 GB HTTP 流量(HTTPS 收费),使用需要预充值 10 元,我充了后,其实基本就没怎么用了。
  • 阿里云通过购买流量包(有时限)进行计费,无免费额度,节点数量和速度应当是几个云服务商中的前列,但考虑到个人站长往往流量不大、且需要持续使用,很不划算。
  • 腾讯云每月赠送 10 GB CDN 流量,但此前网站被人刷了 CDN,且是后付费(意味着不是欠费立刻停止),所以便停用转至了又拍云。

此前我也曾在腾讯云和又拍云之间、反复横跳。但后来发现又拍云的确相比腾讯云多出了几个吸引我的地方。

又拍云联盟

又拍云有一个名为「又拍云联盟」的活动。

即在页脚挂上又拍云的 LOGO(就像本站页脚一样),便会每月赠送 10 GB 存储空间和 15 GB 流量。 而现在则直接折算为等额的代金券,按年发放,这相比其他的(白嫖)方案赠送额度更多,且更为方便。

譬如倘若某一个月流量较少,某一个月流量较多,都可以共享这张代金券。 而若是按照腾讯云按月 10 GB 的制度,某个月没有用到 10 GB,就显得亏了,某个月不小心用超了,却又需要多付上一些钱财。

WebP 自适应 ​

又拍云支持 WebP 自适应功能

Webp 是谷歌针对网页推出的新一代图片格式,进一步减少了图片(动图也可)大小,虽然我也不知道他们怎么做到的,但是 WebP 格式的图片的确往往比 JPG 图片要小上许多。

对了,顺便安利一个谷歌出品的在线图片压缩工具 Squoosh

当然与之对应的是解码时间的增加以及兼容性。

但谷歌已在 Chrome 浏览器中提供了 WebP 原生支持,而解码的时间相比图片压缩节约的传输时间可谓小巫见大巫。

目前基本所有主流浏览器都支持了 WebP 格式,但是仍有冥顽不化者,没错,那就是苹果家的 Safari。(IE:我已经连主流都不配了吗?)

连 IE 都有勇气问你 是否要将它设成预设浏览器 你他妈的却跟我说你没勇气和喜欢的人告白

2020 年 macOS 11 Big Sur 和 iOS 14 上的 Safari 14 也已经支持 WebP 了。

我也将博客内的部分图片全部转为 WebP 格式,但是后来朋友告诉我苹果手机无法正常加载图片,最后不得不作罢。 而又拍云提供的 WebP 自适应功能无疑是我期待的。根据设备来决定返回 JPG 还是 WebP 格式,而我要做的只是把图片托管在又拍云的云存储中。

云存储 - 图床 ​

说到云存储,其实各大云服务商都有各自类似的服务。腾讯云的叫作为对象存储(Cloud Object Storage,COS),阿里云的则叫作对象存储 OSS(Object Storage Service)。

博客图片对于站长来说有时是一个大难题,一是图片逐渐增多时、体积和备份的问题,二则是图片加载往往会占用不少带宽。 所以我的博文也总是尽量以文字为主,偶尔穿插进几张图片。

写 Markdown 时,图片往往是使用链接的方式放在文章中,这是便会用到我们所说的图床。 即上传自己的图片,它提供一个可以访问的链接给你。

有一些公共的图床服务,譬如 sm.ms路过图床。 你可以使用它们,但是图片往往会被审核、而在你毫不知情的情况下被删除,而使用的图床服务较为小众,还有跑路的风险。 我博客此前不少的图片放在了 sm.ms 上,但是后来一段时间它在国内常常无法正常加载。

所以最后我基本都将其迁移至了又拍云的云存储,一是我可以享受又拍云独有的 WebP 自适应功能,二则是我可以共用我的代金券(继续白嫖),且在国内能有一个还不错的访问速度。

全球加速 ​

虽然咱的博客基本都是中文,面向国内的,但是谁不想走向世界国际化呢?我自然也希望她(我的博客)能在国外同样可以流畅地打开。

而腾讯云赠送的 CDN 流量则只支持国内加速。又拍云则同样提供了全球加速的选项。

源站资源迁移 ​

我的博客本质还是托管于 GitHub Pages 上的,而解析上 CNAME 解析到了又拍云的 CDN,又拍云的 CDN 去回源(也就是加载我 yunyoujun.github.io 的资源),并缓存迁移到又拍云的服务器上。

这意味着,即便 GitHub 突然宕机(出现好几次了,哈哈哈),我的站点仍然可以借助又拍云缓存的站点内容得以正常访问。 这也一并解决了 GitHub 拒绝百度爬虫的问题,让站点可以被百度正常检索。

详情可参见我的这篇文章 让百度收录你的 GitHub Pages 博客 | 云游君的小站


其他 ​

此外,我潜伏进了又拍云联盟群,参与过一次抽奖活动,幸运地抽到了一个又拍云马克杯。(杯子在家,木有照片) 我也在一些知名开源项目的赞助商列表里看到了又拍云的身影,譬如 APlayer 等。 因此,又拍云给我留下的印象挺还算不错。

好,说了这么多优点,本着一分为二的辩证思维,有没有什么缺点?

仔细想来,也有几个。

  • 又拍云从体量上来说,自然不能和腾讯云、阿里云这些国内大厂商相比,因此节点/访问速度/稳定性可能略逊一筹,但对于我们(白嫖的)个人站长来说,却几乎可忽略不计
  • 还有一点就是我并没有找到一个按钮来设置超额自动停止 CDN 服务的功能,当使用费用超过我的代金券时,它会变为欠款,而不是自动停止你的 CDN 服务,回源 GitHub Pages (当然其他几个云服务商这一点上也半斤八两)

当然,最最后还有最重要的一点,也是让我确信我会继续使用又拍云的原因。

因为小空调的大火(我此前是走的又拍云 CDN),我害怕我的钱包吃不消,于是联系了又拍云,对面很爽快地给了 1000 元代金券的赞助。 所以今年的 CDN 费用基本可以衣食无忧。 这此前也是我一直烦恼的事情,以前赠送的额度基本绰绰有余,但随着站点的访问量越来越大,开始有些入不敷出了。也算解了我的燃眉之急。

又拍云 1000 元代金券

而这也毫无疑问是本篇文章诞生的原因。

在此插播一则广告~

又拍云 CDN

然后这里是咱的 又拍云返利链接,从这里注册并消费我会吃到回扣!(当然其实又拍云联盟赠送的量对于个人来说就基本够用了。赠送的额度不够用的时候,说明有很多人在关注你啦,就去找又拍云合作吧!)

又拍云大使介绍

如何使用 CDN ? ​

也许你可以参考这篇文章 使用 CDN 加速你的 GitHub Pages 网站 | 云游君的小站

之后也许会在这里再详细介绍一下我的又拍云 CDN 解析是如何设置的?


好,就是这样,下次见!

也祝你的站点访问速度越来越快!


To Be Continued.