跳转到内容
搜索文档

无服务器全球 API

最后更新 查看 MarkdownAgent 设置

简介

无服务器 API 代表了一种无需管理传统服务器基础设施即可构建和部署可扩展、可靠的应用程序编程接口 (API) 的现代方法。这些 API 旨在处理来自用户或其他系统的传入请求、执行必要的逻辑或操作并返回响应,所有这些都无需开发者预配或管理底层服务器。

无服务器 API 的核心是无服务器计算的概念,开发者仅专注于编写代码以实现业务逻辑,而无需担心服务器预配、扩展或维护。这使得基于 API 的应用程序能够更加敏捷,加快上市速度。

开发者使用函数或微服务定义 API 端点及其对应的逻辑或功能,然后将其部署到无服务器平台。平台负责响应传入请求来执行这些函数。

此外,无服务器 API 通常能与其他云服务(如认证和授权服务、数据库以及事件驱动架构)无缝集成,使开发者能够以最低的运营开销构建复杂、可扩展且具有弹性的应用程序。

大多数云无服务器实现都有一个单一区域用于执行代码。这意味着来自世界任何地方的请求都必须通过互联网到达这个单一位置。对 API 请求的所有响应也必须通过相同的互联网路由发送回用户。

图 1:传统单区域架构
图 1:传统单区域架构

Cloudflare 采用不同的全球优先方法。全球部署的架构为从世界不同地区访问 API 的用户实现了更低的延迟和更高的可用性。为了实现性能提升,不仅需要分布计算,理想情况下数据也需要分布。缓存和全球复制等不同解决方案可以实现这一目标。

图 2:地球区域
图 2:地球区域

总体而言,无服务器全球部署的 API 为构建现代应用程序和服务提供了高性价比、可扩展且灵活的方法,使组织能够专注于为用户创造价值,而无需被管理基础设施的复杂性所困扰。

无服务器全球 API

图 3:无服务器全球 API
图 3:无服务器全球 API

这是 Cloudflare 上无服务器 API 的示例架构,旨在说明不同计算和数据产品如何相互交互。

  1. 客户端请求:向 API 端点发送请求。
  2. API Shield/路由器:使用 Workers 处理传入请求,检查其有效性,并在需要时执行认证逻辑。然后,使用服务绑定(binding)将(可能已转换和/或丰富的)API 调用转发到各个 Workers。这实现了关注点分离。
  3. 高读取数据:从 KV 读取以提供高读取、非动态数据。这可能包括配置数据或产品信息。在执行写入时请注意限制
  4. 关系型数据:查询 D1 以处理关系型数据。这可能包括用户数据、产品数据或其他数据。
  5. 外部数据:使用 Hyperdrive 查询外部数据库。在适用的情况下利用缓存来提高性能。当数据迁移超出实施范围时,这尤其有用。

相关资源

这篇文档对您有帮助吗?