使用jsDelivr+Github托管网站文件资源-代码托管方案

使用jsDelivr+Github托管网站文件资源-代码托管方案-青鹿云

介绍

有人会问了,jsDelivr+是什么东东?这我得好好介绍下了!

首先,它是唯一一家:

  • 完全免费(几乎零成本部署网站)
  • 无需绑定域名(自然就没有了备案的麻烦)
  • 有ICP许可证(这意味着它有国内服务器)

的CDN提供商

使用jsDelivr+Github托管网站文件资源-代码托管方案-青鹿云

在中国

这三点简直是无敌的存在,jsDelivr 已与多家中国公司合作,在中国大陆和整个亚洲大陆提供快速可靠的文件交付。在中国拥有服务器,可以显着提高交付速度和延迟。还拥有中国政府颁发的有效 ICP 许可证,可以保护免受禁令和缓慢下载的影响。

jsDelivr 在国内完美运行!

多CDN

与竞争对手不同,jsDelivr 使用多个 CDN 提供商,从而实现最佳的正常运行时间和性能。目前使用CloudFlare和Fastly。在中国大陆使用Quantil。

如果 CDN 出现故障,使用 jsDelivr 的网站不会有任何问题,因为所有流量都会立即重定向到剩余的运营提供商。

智能负载均衡

jsDelivr 使用真实的用户性能数据(也称为 RUM)来做出路由决策。这些指标是从数百个网站收集而来的,并用于我们的负载平衡算法,以做出准确的内容服务决策。

来自世界各地的真实用户每天对所有提供商(CDN 和自定义服务器)进行数百万次测试。基于此信息,jsDelivr 知道哪个提供商对每个用户来说最快。每个用户都会根据他或她的位置、ISP 和供应商的实时正常运行时间获得独特的响应。

该系统还可以立即响应提供商的性能下降和停机时间。如果 CDN 受到 DDoS 攻击,并且它们在某些位置的性能下降,算法将在几秒钟内获取更改并开始为所有受影响的用户提供不同的提供商服务。


故障转移

有多层故障转移来保护用户免受任何停机时间的影响。

可以同时使用 2 个 DNS 提供商。要想让 jsDelivr 倒闭,这两家公司必须同时倒闭。

两个 DNS 提供商都监控我们的负载平衡端点,如果他们检测到问题,他们会自动将所有流量切换到单个 CDN 提供商。

负载均衡器使用 RUM 和综合数据监控所有 CDN 提供商的正常运行时间。如果其中任何一个检测到停机或性能下降,CDN 提供商将立即被移除,而不会对我们的用户造成任何影响。

jsDelivr的起源由不同数据中心的多台服务器组成。如果服务器出现故障,CDN 将自动切换到使用剩余的健康服务器。

总的来说,jsDelivr拥有最具弹性的系统之一,即使是最大的公司也可以在生产中使用。

JSDelivr的局限性

  • 访问html文件并不会返回网页而是返回源代码
  • 单文件不能超过50MB
  • 使用国内服务器,不能放违法法律法规的东西
  • 会禁止某些奇怪的扩展名(亲测可用:js、css、各种图片、视频、音频等)

注意事项

  • 腾讯云为国内提供商、JSDelivr有ICP备案和国内服务器,所以千万不能放违法国家有关法律法规的东西
  • JSDelivr虽免费,但不要用于大文件的下载托管和加速,尽量不要存太大的视频,否则可能会被屏蔽拉黑
  • 本方案的任何一个步骤均是合法合规的,可放心使用
  • index.html建议不要太大,否则加速效果不明显甚至减速
  • 非常适合webpack等前端打包工具编译的index.html很小,大部分网页工作在js里完成的网页

大体思路

  • 将静态站点放到Github的公开存储库中,以后更新站点只需更新存储库即可
  • 将域名绑定到腾讯云函数的API网关上,借助腾讯云函数实现跳转访问,具体细节如下:
  • 访问根目录和其他目录啥的:从JSDelivr上获取index.html并返回201状态码和网页(未备案域名选择香港地域,所以首页没有加速效果,建议index.html不要太大)
  • 访问任何静态文件(看路径中是否有点“.”来区分,不是特别好,希望能给我提供一个更完美的方案):返回301重定向到拼接好的JSDelivr的Url上(实现JSDelivr跳转加速访问)
© 版权声明
THE END
喜欢就支持一下吧
点赞197 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容