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

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

2024-04-05

5 分钟阅读时间
这篇博文也有 EnglishFrançaisDeutsch日本語한국어Español繁體中文版本。

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

Browser Rendering API GA, rolling out Cloudflare Snippets, SWR, and bringing Workers for Platforms to our PAYGO plans

我们于 2023 年 5 月宣布了Browser Rendering API 的开放测试计划。Browser Rendering 允许开发人员以编程方式控制无头浏览器实例并与之交互,为其应用程序和产品创建自动化流程。

与此同时,我们还推出了可与 Browser Rendering 搭配使用的Puppeteer 库版本。借助这一版本,开发人员可在 Cloudflare Workers 之上使用熟悉的 API 来创建各种工作流,例如页面截图或自动软件测试。

今天,我们将 Browser Rendering 功能向前推进了一步,结束了测试,并将提供给所有 Workers 计划的付费用户使用。此外,我们还将强化 API,并推出一项在开放测试社区讨论已久的新功能:会话管理。

会话管理

会话管理允许开发人员在 Worker 的脚本中重复使用之前打开的浏览器。重复使用浏览器会话的优势在于,您无需为每个请求和任务实例化新的浏览器,而这能够显著提升性能并降低成本。

以往,要保持浏览器实例的活动状态并对其进行重复使用,您必须使用 Durable Objects 实施复杂的代码。如今,我们简化了这一过程,让浏览器在后台运行,并通过新的 会话管理方法扩展了 Puppeteer API ,让您可以访问所有运行中的会话、活动历史和活动限制。

以下是列出活动会话的方法:

我们已将有关如何使用会话管理的 Worker 脚本示例添加到开发者文档中

const sessions = await puppeteer.sessions(env.RENDERING);
console.log(sessions);
[
   {
      "connectionId": "2a2246fa-e234-4dc1-8433-87e6cee80145",
      "connectionStartTime": 1711621704607,
      "sessionId": "478f4d7d-e943-40f6-a414-837d3736a1dc",
      "startTime": 1711621703708
   },
   {
      "sessionId": "565e05fb-4d2a-402b-869b-5b65b1381db7",
      "startTime": 1711621703808
   }
]

分析和日志

可观察性是 Cloudflare 产品的重要组成部分。您可以在仪表板中的账户 Worker & Pages 部分找到Browser Rendering 使用情况的详细分析和日志。

Browser Rendering 功能现已向所有已付费的 Workers 计划客户开放。 在此期间,每个账户每分钟仅限免费运行两个新浏览器和两个并发浏览器。请查看我们的开发人员页面,以便开始使用。

我们正在推出针对 Cloudflare Snippets 的访问

Snippets 功能强大、可编程且免费,是在 Cloudflare 上执行复杂 HTTP 请求和响应修改的最佳方式。以往使用 Rules 产品难以实现的功能如今可通过Snippets实现。自 Developer Week 2022 首次宣布以来,通过编写简单的 JavaScript 代码即可扩展开箱即用的 Rules 功能的承诺,让社区兴奋不已。

仅在 2024 年的前 3 个月,通过 Snippets 处理的流量就增加了 7 倍多,从 1 月初的平均每秒 2200 次请求增加到 3 月份的逾 17000 次请求。

但我们不会一次性放开所有限制,让数百万 Cloudflare 用户以最意想不到的方式来进行测试(并可能破坏)Snippets,而是采取分阶段推出的方式,就像新发布的Workers的逐步推出策略

在接下来的几周内,5% 的 Cloudflare 用户将开始在其仪表板中区域级菜单的规则选项卡下看到 "Snippets"。如果您恰好是前 5%的用户,请即刻行动,试试Snippets的速度和强大功能, 例如动态更改标题中的日期或利用 `math.random` 函数进行 A / B 测试。无论您如何使用Snippets,请牢记一点:这仍是一个 Alpha 版,因此暂时请不要将 Snippets 用于生产流量。

在此之前,请留意 Cloudflare 仪表板中的新 Snippets 选项卡,并同时查阅开发者文档, 了解Snippets 的强大功能和灵活性。

即将推出:利用 stale-while-revalidate 进行异步重新验证

客户要求最多的功能之一是带有 stale-while-revalidate (SWR) 缓存指令的异步重验证,我们将于 2024 年下半年为您带来这一功能。该功能将作为将作为我们基于 Rust 构建的全新CDN架构设计的一部分,注重性能和内存安全。

目前,当客户端请求资源(如网页或图片)时,Cloudflare 会检查资产是否在缓存中,并在缓存副本可用时提供缓存副本。若文件不在缓存中,或已过期并成为过期文件,则 Cloudflare 会连接到源服务器,检查文件的最新版本,并将新版本转发给最终用户。这种等待时间会导致这些请求的延迟增加,从而影响性能。

作为一种缓存指令,Stale-while-revalidate 允许在向最终用户提供已过期或陈旧版本的资源的同时,由 Cloudflare 检查源以查看是否有更新版本的资源可用。如果存在更新版本,则源会将其转发给 Cloudflare,并在此过程中更新缓存。这种机制允许客户端从缓存中快速接收响应,同时确保其始终可以访问最新的内容。Stale-while-revalidate 在高效提供内容和确保内容的新鲜度之间取得了平衡,从而提高了性能,使用户体验更加流畅。

想成为我们的 Beta 测试者并“享受”乐趣的客户可在 此处注册 ,我们会在功能可用于测试时通知您!

即将于 2024 年 4 月 16 日发布:Workers for Platforms 按需付费计划

我们于今日欣然宣布,4 月 16 日,所有开发人员都可以通过我们新推出的 25 美元按需付费计划使用 Workers for Platforms!

Workers for Platforms 正在改变我们构建软件的方式——其让您能够直接在产品中嵌入个性化和定制功能。借助 Workers for Platforms,您可以代表用户部署自定义代码,或者让用户直接将其自己的代码部署到您的平台上,而无需您或您的用户管理任何基础设施。您可以将 Workers for Platforms 与本次 Developer Week 中发布的所有令人兴奋的新功能搭配使用——其支持所有与 Workers 配套的绑定(包括Workers AID1Durable Objects)以及 PythonWorkers

以下是我们的一些客户(从企业到初创公司)在 Workers for Platforms 上的构建情况:

  • Shopify Oxygen 是其基于 Remix 的电子商务框架 Hydrogen 托管平台,它基于 Workers for Platforms 构建!Hydrogen/Oxygen 组合让 Shopify商家能够自由掌控其购买体验,摆脱了通用商店模板的束缚。

  • 作为一个数据平台,Grafbase供开发人员创建无服务器 GraphQL API,将整个业务的数据源统一到一个端点下。其使用 Workers for Platforms 为开发人员提供控制和灵活性,以部署自己用 JavaScript/TypeScript 或 WASM 编写的代码。

  • 作为一个开源数据库,Triplit可在服务器和浏览器之间实时同步数据。它允许用户构建低延迟、实时的应用程序,具有关系查询、模式管理和内置服务器端存储等功能。其查询和同步引擎基于 Durable Objects 构建,并使用 Workers for Platforms,让客户能够将自定义 JavaScript 打包到 Triplit DB 实例中。

可观测性和平台级控制

Workers for Platforms 在允许您将 Workers 部署到您平台上的同时,还让我们知晓针对用户的 Workers 的可观测性和控制有多么重要。我们有若干解决方案可以帮助应对该情况:

  • 自定义限制:在用户的Workers 上设置 CPU 时间或子请求限制。这可以用来设定限制,以便控制在Cloudflare上的成本,或者设计自己的定价和打包模式。例如,如果您在平台上采用免费增值模式,则可以降低免费用户的 CPU 时间限制。

  • Tail Workers Tail Workers 事件包含有关Worker 的元数据、console.log() 消息,并能够捕获任何未处理的异常。其可以用于为开发人员提供实时日志,以便实时监控错误并进行故障排除。

  • Outbound Workers:获得对用户Workers发出的所有外部请求的可见性。Outbound Workers 位于用户 Workers和其发出的 fetch()请求之间,因此您可以在请求发送到互联网之前全面了解请求。

定价

我们希望确保业余爱好者、个人开发者和独立开发者都能负担得起 Workers for Platforms 的价格。作为全新 25 美元按需付费计划的一部分,Workers for Platforms 包括以下内容:

.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;} .tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-buh4{background-color:#f9f9f9;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}

Included Amounts
Requests 20 million requests/month
+$0.30 per additional million
CPU time 60 million CPU milliseconds/month
+$0.02 per additional million CPU milliseconds
Scripts 1000 scripts
+0.02 per additional script/month

包含的金额

请求

每月 2000 万次请求+ 0.30 美元/每增加 100 万

CPU 时间

每月 6000 万 CPU 毫秒CPU 毫秒每增加 100 万 +0.02 美元

脚本

1000 个脚本每增加一个额外脚本每月 +0.02

Workers for Platforms 将于 2024 年 4 月 16 日正式发售!

2024 年 4 月 16 日起,您可以在 Cloudflare 仪表板的 Workers for Platforms 选项卡下购买 Workers for Platforms。

同时,欲了解有关 Workers for Platforms 的更多信息,请查阅我们的启动项目开发人员文档

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

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

在 X 上关注

Tanushree Sharma|@_tanushreeeee
Celso Martinho|@celso
Matt Bullock|@mibullock
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. ...