小木猫

 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 476|回复: 0
打印 上一主题 下一主题

如何在不增加成本情况下使用Cloudflare Cron 触发器?

[复制链接]
跳转到指定楼层
楼主
发表于 2021-11-21 05:41:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  Cloudflare支持着遍布全球200多个城市的大规模分布式系统。我们的节点以最接近的IATA机场代码命名。大多数时候,出于性能的原因,我们都在接近请求源的地方运行Workers。在一个典型的HTTP Worker中,我们这样做是因为我们知道,对于正在等待响应的人来说,性能至关重要。

  在Cron触发器的情况下,用户按时运行任务,这些性能需求是不同的。当用户无需积极等待响应,几毫秒的额外延迟就无关紧要。该功能的性质让我们能够更灵活地分配运行作业的地点,因为它无需运行在靠近最终用户的城市中。

  Cron触发器在未充分利用的机器上运行,以最大限度地利用我们的容量和有效地路由流量。例如,一个从旧金山发出的计划于太平洋时间下午7点运行的Worker可能会被发送到巴黎,因为那里是凌晨4点,整个欧洲的通信量都很低。在安静的时间把流量发送到这些机器上是非常高效的,我们很高兴能与您共享节省成本的优势。除了这种调度优化之外,由Cron触发器调用的Workers行为与典型HTTP Workers类似,并且具有与典型HTTP Workers相同的性能和安全性优势。

  在较高的层上,通过Cloudflare的API创建的计划会在数据库中创建记录。这些记录包含在给定的cron时间表上执行Worker所必需的信息。然后,这些记录将由另一服务获取,该服务将不断评估我们的边缘状态并在城市之间分配计划表。一旦计划已分发到边缘,运行在节点中的服务就会轮询对计划的更改,并确保它们在适当的时间被发送到我们的内存管理。

  如果您想了解有关我们如何实现此功能的更多详细信息,请参阅此技术博客。

  通过此功能,我们扩展了使用Workers进行构建的可能性,并进一步简化了开发人员的体验。虽然Workers以前仅根据Web请求运行,但我们认为边缘计算的未来并不严格与HTTP请求和响应联系在一起。我们希望将来引入更多类型的Workers。

  我们计划扩展触发器以包含不同类型,比如基于数据的触发器或基于事件的触发器。我们的目标是为用户提供更大的灵活性,让他们能够控制Workers的运行时间。Cron触发器是我们在这个方向上的第一步。此外,我们计划不断迭代Cron触发器,使边缘基础架构的选择更加复杂和优化——例如,我们可能会考虑开发让用户能在最节能的数据中心内运行的触发器。

  如何试用Cron触发器

  Cron触发器现在就可以使用!您可以尝试在Cloudflare Workers控制面板中创建一个新的Worker,并设置一个Cron触发器。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表