订阅以接收新文章的通知:

Workers Sites:直接在我们的网络上部署您的网站

2019-09-27

4 分钟阅读时间
这篇博文也有 EnglishDeutsch日本語EspañolFrançais版本。

网络性能一直是一场与光速的战斗——从伦敦访问一个从西雅图提供服务的网站,意味着每一个资源请求都要经过7000多英里。web性能之争的第一个突破是HTTP/1.1连接保持在线和浏览器打开多个连接。下一个突破是CDN,通过将静态资源缓存到离终端用户更近的数据中心,使它们更靠近终端用户。今天,有了Workers Sites,我们可以很兴奋地宣布下一个重大突破——将整个网站直接分布在互联网的边缘。

部署到网络边缘

为什么仅缓存资源还不够?是的,缓存提高了性能,但是显著的性能提升也伴随着一系列令人头痛的问题。CDN可以猜测应该缓存哪些资源,但这只是猜测。配置站点以获得最佳性能一直是一个容易出错的过程,需要大量深奥的规则和请求头。即使在完美配置的情况下,几乎也没有什么东西是永久缓存的,宝贵的请求仍然常常需要一直传送到您的原始地址(无论它在哪里)。毕竟,缓存失效是计算机科学中最困难的问题之一。

这就引出了一个问题:与其笨拙地将字节从原点移动到边缘,为什么不将整个原点推到边缘呢?

Workers Sites:扩展Workers平台

两年前的生日周,我们发布了Cloudflare Workers,这是一种让开发者在全球194个城市的网络上编写和运行JavaScript和WebAssembly的方法。一年后,我们发布了Workers KV,这是我们的分布式键值存储,它让开发者能够在这些城市的边缘存储状态。

Workers Sites利用Workers和Workers KV的功能,允许开发者直接将他们的网站上传到边缘,并更接近最终用户。我们认为web上的现代开发应该是这样的:天然安全、快速、可大规模扩展。您花在配置上的时间越少,则花在代码和内容本身上的时间就越多。

它如何运作

Workers Sites使用一些终端命令进行部署,可以为任何静态站点生成器(如Hugo、Gatsby或Jekyll)生成的站点提供服务。使用Wrangler(我们的命令行界面),您可以将网站的资源直接上传到KV。当请求到达您的Workers站点时,Wrangler生成的Cloudflare Worker将从KV中读取并提供相应的请求头信息(无需担心Content-Type和Cache-Control;我们帮你搞定了)。

你的网站需要变得不那么静态,你的Worker就只是代码,编辑和扩展它,直到你有一个运行在世界各地的动态网站。

入门

要开始使用Workers网站,您首先需要注册Workers。选择好worker.dev子域后,选择“无限制Workers计划”(每月5美元起),以获得访问Workers KV和部署Workers站点的能力。

在注册无限制Workers计划后,你需要为Workers安装CLI(命令行界面)——Wrangler,Wrangler可以通过NPM或Cargo安装:

安装Wrangler后,你就可以通过以下步骤准备部署静态站点:

# NPM Installation
npm i @cloudflare/wrangler -g
# Cargo Installation
cargo install wrangler
  1. 在包含您静态站点构建资产的目录中运行wrangler init --site

  2. 填写新创建的带有您的帐户和项目详情的wrangler.toml文件

  3. 使用wrangler publish发布您的网站

你也可以查看我们的Workers Sites参考文档,或者在文档中阅读关于create-react-app的完整教程。

如果您想要通过观看视频开始入门,我们可以满足您的需求!该视频将引导您创建和部署第一个Workers网站:

令人瞩目的快:从亚特兰大到萨格勒布

除了改善开发人员的体验外,我们还在幕后做了大量工作,以确保部署和站点本身的速度都非常快——我们很高兴能在我们的技术博客文章中与您分享如何做到这一点。

为了测试Workers Sites的性能,我们使用了一个个人站点并部署它来运行一些基准测试。该测试是针对我们的网站的,但您的结果可能会有所不同。

一个常用的衡量你的网站性能的方法是使用Google Lighthouse,您可以直接在Chrome浏览器的“审核”选项中进行此操作。

所以我们以优异的成绩通过了第一次测试——100分!然而,在您自己的计算机上运行基准测试会引入一个偏差:您的用户不一定在您所在的位置。事实上,你的用户离你越来越远。

在哪里进行基准测试也很重要:从不同位置运行测试将产生不同的结果。西雅图的基准测试和西海岸的服务器测试并不能说明您的全球性能。

我们决定使用一个名为Catchpoint的工具来运行世界各地城市的基准测试。为了进行比对,我们将站点部署到三个不同的静态站点部署平台,包括Workers Sites。

由于提供商在美国海岸或中欧提供数据中心区域,因此在北美等地区看到良好的表现是很正常的,我们为您总结的结果如下:

但是你在世界其他地方的用户呢?在这些地区,性能甚至更为关键:第一批用户才不会使用MacBook Pro通过惊人的快速连接访问到您的站点。通过Workers Sites,您可以毫不费力地到达这些地区——每当我们的网络地图扩展时,您的全球影响力就会随之增长。

我们在世界各地为您运行了一些基准测试,我们很高兴与您分享测试结果:

最后一件事……

使用Workers Sites部署您的下一个站点是很容易的,并且可以为您带来出色的性能,所以我们认为只有使用Workers Sites自己部署站点才是正确的选择。伴随着这一公告,我们还将开放Cloudflare Workers文档资源!并且,(这些文档)它们现在正由您附近的Cloudflare数据中心通过Workers Sites提供服务。

我们迫不及待地想看到您在Workers Sites上部署的内容!


您是否已经使用Workers或Workers Sites构建了一些有趣的东西呢?请@CloudflareDev告知我们!

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
Birthday Week产品新闻Cloudflare WorkersServerlessJavaScriptCloudflare Workers KV开发人员Developer Platform

在 X 上关注

Rita Kozlov|@ritakozlov_
Cloudflare|@cloudflare

相关帖子

2024年10月31日 13:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network. ...