Free Arch:利用七牛云加速文件下载

共 1616字,需浏览 4分钟

 ·

2022-05-15 02:49


Free Arch:不断探索免费的边界。


在小程序里查看本文


这几天玩了一下 App 开发,深深地感受到了 Web 技术和 App 技术真是有天壤之别。虽然,借助 React Native,可以填补一些鸿沟,但从开发环境的准备到发布上线,还是特别的不同。尤其在上线方面,App 上线真是繁琐得多。


首先折腾安卓吧,由于网络问题和机器性能问题,到目前还没有搞定本地的编译问题。不过,利用 GitHub Actions(GitHub Actions 真的很赞,免费提供强大的 runner。之前有一个超级耗时的静态站点生成项目,试过 Netlify、Vercel 等等著名厂商的工具链,全部超时,只有 GitHub Actions 能够成功完成,实力雄厚),成功地通过 CICD 的方式,实现了提交代码自动编译,自动签名并将 apk 文件发布到网上。这样有几个好处:


  1. 即使没有电脑,借助网页版编辑器也能写 App 并发布了。

  2. 方便 App 后期做自动更新。

  3. 免费和自由(当然,愿意花钱的话,还可以实现自动发布到市场)。


源代码在 https://github.com/Jeff-Tian/jeff-tian-app,利用 Actions 编译、打包 aab 文件、生成 apk 文件、完成 zip 对齐、签名一条龙,然后利用 gh-pages 将最终可以直接下载安装的 apk 文件发布在 https://app.jeff-tian.jiwai.win。


昨天在《Free Arch【已解决】七牛云上传 Cloudflare 证书》里聊到了,尽管使用了 Cloudflare CDN 对 jiwai.win 域名做了加速,但实测下来,仅限于 Web 页面的加速,32兆的 apk 文件下载,居然要1到2个小时,不能忍受。估计是其在国内的 CDN 结点数量问题,因此想到了使用七牛云再来加速一下 apk 的文件下载速度。


但是这其中还是有些坑要踩的,所以有必要记录下来,供以后的自己和做同样事情的人们参考。


第一个坑是上传 https 证书的,昨天已经解决。


Free Arch【已解决】七牛云上传 Cloudflare 证书


第二个坑是,我想当然地认为,对于 apk 文件下载,应该使用七牛云的文件分发模式 CDN。于是我建了一个 files.pa-ca.me 域名,设置了下载分发模式:



然而,测试了几次,虽然不需要1到2小时了,但仍然比较慢,需要半小时左右:



接着,我又建立了 cdn.pa-ca.me 这个 CDN 加速域名,使用了图片小文件场景:



再次做了几次测试,发现达到预期的目的,下载同样的文件,只需要分钟级别的时间了:



好了,这就是利用七牛云加速文件下载踩过的一些坑了。


最后总结一下,如果文件托管在 Cloudflare 站点上,在国内的下载速度仍然会很慢,可以再次使用七牛云加速。如果 Cloudflare 站点启用了强制 https,那么需要先搞定 HTTPS 证书的问题。如果不想上传证书,也可以使用七牛云提供的 DV 免费证书,但是有一段审核期,白天比较快,15分钟不到,晚上可能会需要1个小时。


然后,在创建 CDN 加速域名时,要做好如下配置:


  1. 回源要启用 HTTPS(基于前面的假设,源站强制了 HTTPS 访问)

  2. 要使用图片小文件场景




最后,下载速度可能不同的网络表现并不一样,以下是我这里的网络下载同一文件的速度简略对比:


  1. Cloudflare:https://app.jeff-tian.jiwai.win/jeff-tian-release.apk ,2小时

  2. 七牛云下载分发场景:https://files.pa-ca.me/jeff-tian-release.apk,半小时

  3. 七牛云图片小文件场景:https://cdn.pa-ca.me/jeff-tian-release.apk,2-3分钟


浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报