Subscribe to receive notifications of new posts:

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

2019-09-27

7 min read

网络性能一直是一场与光速的战斗——从伦敦访问一个从西雅图提供服务的网站,意味着每一个资源请求都要经过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安装:

# NPM Installation
npm i @cloudflare/wrangler -g
# Cargo Installation
cargo install wrangler

安装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告知我们!

We protect entire corporate networks, help customers build Internet-scale applications efficiently, accelerate any website or Internet application, ward off DDoS attacks, keep hackers at bay, and can help you on your journey to Zero Trust.

Visit 1.1.1.1 from any device to get started with our free app that makes your Internet faster and safer.

To learn more about our mission to help build a better Internet, start here. If you're looking for a new career direction, check out our open positions.
简体中文Cloudflare Workers (CN)JavaScript (CN)Serverless (ZH)Product News (CN)Birthday Week (CN)Workers Sites (CN)

Follow on X

Rita Kozlov|@ritakozlov_
Cloudflare|@cloudflare

Related posts

April 05, 2024 1:01 PM

Browser Rendering API GA,推出 Cloudflare Snippets 、SWR,并向所有用户提供 Workers for Platforms

Browser Rendering API 现已向所有付费 Workers 客户提供,并改进了会话管理功能...

April 04, 2024 1:05 PM

生产安全新工具——渐进式部署、源码映射、速率限制和全新 SDK

我们今天发布了五项更新,旨在为您提供更 多功能——渐进式部署、Tail Workers 中的源映射堆栈跟踪、全新的速率限制 API、全新的 API SDK,以及对 Durable Objects 的更新——每项更新都旨在满足重要的生产服务需求...

April 02, 2024 1:01 PM

升级版 Workers AI:现已正式发布且具备更多新增功能

今天,我们欣然发布包括 Workers AI、Cloudflare 的推理平台进入 GA 阶段以及支持使用 LoRA 对模型进行微调,并支持从 HuggingFace 进行一键部署等一系列消息。 Cloudflare Workers 现已支持 Python 编程语言及更多功能...