做了一个 unpkg CDN,有没有人有兴趣试用

2018-12-27 10:17:58 +08:00
 otakustay
https://code.bdstatic.com/npm/jquery@3.3.1/dist/jquery.js
基本规则是 https://code.bdstatic.com/npm/{package}@{version}/{path}
可以不写 path,如 https://code.bdstatic.com/npm/jquery@3.3.1 会重定向到主文件,但不建议现在使用,CDN 不会缓存 301,正在跨部门地合作增加这个能力

我们不支持 @latest 等范围型版本,因为我们相信这是不符合生产环境对依赖的稳定性要求的。
当前因为服务刚完成不久,CDN 没有足够的热度,首次访问可能会需要几秒,CDN 上有缓存以后就快了

Q:技术上的实现?
A:没有直接使用 unpkg,后面是一个 NPM 的同步服务,它同时用于我们内部的 NPM 镜像的同步,以及 CDN 服务。同步正常延迟为 5 分钟,上游为淘宝镜像。

Q:为什么不用 unpkg ?
A:unpkg 是按需加载,即第一次访问一个包的时候进行同步并提供文件。我们的初始目的是配合内部的 NPM 镜像使用,“顺手”解压并变成了 CDN,所以是一个定时同步。

Q:稳定性等如何保证?
A:所有服务均由百度云提供,存储是百度云的对象存储,计算是百度云的函数计算,CDN 是百度云的 CDN,域名是百度的域名。这个服务同时支持百度自身的产品,因此是作为主流服务维护的。

Q:和 jsdelivr 的区别?
A:为了防止所谓的“投毒”事件出现,我们 CDN 回源也全部 HTTPS。因为同时也是给自己产品用的,所以有毒就真的同归于尽了。
6251 次点击
所在节点    分享创造
30 条回复
netnr
2021-08-21 14:09:09 +08:00
不用了,谢了,我麻烦,你也麻烦
otakustay
2021-08-21 21:24:47 +08:00
@netnr 也不是 ban,有些包根据文件数量、尺寸之类的,同步会失败,失败多次以后就会自动进墓地了,但可以手动去捞出来,也可以在配置里声明此类包用特殊的同步逻辑确保同步
netnr
2022-06-09 13:13:33 +08:00
@otakustay Gzip 关了?流量暴涨近 10 倍
otakustay
2022-06-09 16:20:43 +08:00
@netnr #23 没有啊,我用 Chrome 和 Safari 试了下现在是默认给 br ,应该 br 没有就会 gzip 。你看到的 Content-Encoding 头是啥?
netnr
2022-06-09 18:56:40 +08:00
我用的 edge 测试 sql.js 下载 10M+
otakustay
2022-06-09 20:27:27 +08:00
@netnr #25 要不你给我个具体 URL ,sql.js 的入口文件本身也没这么大
netnr
2022-06-10 07:18:13 +08:00
otakustay
2022-06-10 09:34:59 +08:00
@netnr #27 我改了一下配置,强开了 br 应该会好很多,现在手头上没有 edge 还没测,但 chrome 已经正常了
netnr
2022-06-10 10:06:53 +08:00
显示 br 正常了 1.5M ,别家的 gzip 才 1.1M ,怎么还没有 gzip 效果好
otakustay
2022-06-10 11:09:01 +08:00
@netnr #29 只能说很神奇,技术上我得研究研究……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX