我们正在寻找贡献者。 如果你认为可以提供帮助,请查看上述仓库中的未解决问题,或者如果你有想讨论的想法,请提出新的问题。
jsDelivr是一个免费的开源文件CDN。我们与Github和npm紧密集成,能够自动为几乎所有开源项目提供可靠的CDN服务。
我们提供一个稳定的CDN,可以在拥有大量流量的热门网站上用于生产环境。 没有带宽限制或高级功能,完全免费使用。
我们的公共CDN专为在生产环境中使用而构建,即使是最大的网站也可以使用。一切都经过优化并不断改进,以为所有用户提供最大的速度和正常运行时间。性能始终受到监控,我们一直在寻找可能进一步改进我们CDN的新技术和提供商。宕机、超时或慢速响应都是不可接受的。
我们尽一切可能确保我们的CDN永远不会破坏任何网站,无论使用场景如何。如果通过我们的CDN可以获得文件,我们就假设它在生产中使用,并确保它无论如何都会继续工作。
这包括动态端点,如/npm/
、/gh/
和/combine/
。当首次访问文件时,它会永久存储在可靠的文件系统中。这意味着即使npm包被删除或开发人员删除了现有文件,jsDelivr也会继续提供存储的副本,永远不会破坏任何网站或造成任何问题。
除此之外,我们还进行版本回退。这意味着如果1.0.1版本中使用的文件在1.0.2版本中不再可用,而用户请求不存在的文件,我们会回退到之前的1.0.1版本并提供服务,而不是以404错误失败。
与竞争对手不同,jsDelivr使用多个CDN提供商,从而实现最佳的正常运行时间和性能。我们目前使用CloudFlare和Fastly。
如果一个CDN宕机,使用jsDelivr的网站不会有任何问题,因为所有流量将立即重定向到剩余的运行中的提供商。
jsDelivr使用真实用户性能数据(也称为RUM)来做出路由决策。这些指标从数百个网站收集,并用于我们的负载均衡算法中,以做出准确的内容服务决策。
所有提供商(CDN和自定义服务器)每天都会被全球真实用户测试数百万次。基于这些信息,jsDelivr知道哪个提供商对每个用户来说是最快的。每个用户都会根据其位置、ISP和提供商的实时正常运行时间获得独特的响应。
该系统还能立即响应提供商的性能下降和宕机。如果一个CDN遭受DDoS攻击,其在某些地方的性能下降,算法会在几秒钟内察觉到变化,并开始为所有受影响的用户提供不同的提供商。
我们有多层故障转移来保护我们的用户免受任何宕机影响。
我们同时使用两个DNS提供商。要使jsDelivr宕机,这两家公司必须同时宕机。
我们的两个DNS提供商都监控我们的负载均衡端点,如果检测到问题,它们会自动将所有流量切换到单个CDN提供商。
我们的负载均衡器使用RUM和合成数据监控所有CDN提供商的正常运行时间。如果检测到任何宕机或性能下降,该CDN提供商将立即被移除,不会对我们的用户产生任何影响。
我们的源站由不同数据中心的多台服务器组成。如果一台服务器宕机,CDN将自动切换到使用剩余的健康服务器。
总的来说,我们拥有最具弹性的系统之一,准备好被甚至是最大的公司用于生产环境。
jsDelivr在靠近中国城市中心的多个位置,确保为所有中国用户提供低延迟和高性能。
jsDelivr为npm、GitHub、WordPress插件提供镜像,并为具有特殊要求的其他几个项目提供自定义端点。如果我们的常规端点不适合您的用例,请告诉我们,我们会想办法解决!
如果您是包作者,请查看我们的包作者提示,以使使用您的包尽可能简单。
https://cdn.jsdelivr.net
jsDelivr可以立即提供公共注册表中任何npm包的任何文件。 推送到npm的新版本也会立即通过我们的CDN提供。无需维护。
如果包、版本或文件从npm中删除,jsDelivr将继续从我们的永久存储中提供该文件 ,而不会破坏任何使用它的网站。
我们使用永久S3存储来确保即使npm宕机或作者删除了包,所有文件也能保持可用。文件仅在第一次或S3宕机时直接从npm获取。
/npm/package@version/file
/npm/jquery@3.1.0/dist/jquery.min.js
/npm/jquery@3/dist/jquery.min.js
/npm/jquery@3.1/dist/jquery.min.js
注意
如果您使用此功能,而您请求的文件在包的最新版本中不可用,链接将继续工作,这要归功于我们的版本回退功能。我们将继续从包的旧版本提供文件,而不是以404错误失败。
/npm/jquery@beta/dist/jquery.min.js
/npm/jquery@latest/dist/jquery.min.js
/npm/jquery/dist/jquery.min.js
注意 请求最新版本(相对于"最新主版本"或"最新次版本")是危险的,因为主版本通常会带来破坏性变更。只有在您真正知道自己在做什么时才这样做。
/npm/github-markdown-css@2.4.1/github-markdown.min.css
注意 压缩大文件可能需要几秒钟。但是,我们将所有生成的文件存储在永久存储中,因此这种延迟仅适用于前几个请求。