什么是 Azure API 管理?

Azure API 管理服务(APIM)是 Azure 提供的一种 PaaS(平台即服务)产品。这项服务为我们提供了一种安全的方式来发布和管理由本地或云后端服务创建的 API。Azure APIM 服务在承载 API 终结点代码的后端应用程序与 API 终结点的使用者之间,扮演着中间层的角色。

作为平台即服务产品,它通过许多内置策略(用于控制请求和响应)、内置的身份验证方法以及监控功能,让我们能够轻松地管理 API。

Azure API 管理服务的特性

  • 自动扩缩容: 根据我们为 APIM 服务选择的定价层,可以基于指标配置自动扩缩容。
  • 托管与自托管的 API 实例管理: 我们可以使用 Azure 托管的管理网关门户,也可以配置自己的管理网关门户,以便让 API 后端和管理网关托管在相同的基础设施和区域中。
  • 监控 API: 提供持续可用的日志和指标,用于监控 API 故障、流量瓶颈等。
  • 通过各种内置策略(例如:限制特定时长内的 API 请求、限制 IP、处理查询参数等),我们可以更有效地控制入站请求和出站响应的处理方式。
  • 多区域部署: APIM 服务实例通常部署在一个主要区域,但对于“高级版”定价层,API 网关实例可以分布在多个区域,以提供更低的延迟。
  • 安全性: API 安全性提供了与 Azure Entra ID、OAuth 2.0、Azure AD B2C、身份验证证书等集成的能力。

想要了解更多关于 Azure API 管理服务的信息 – 点击阅读。

Azure APIM 的核心组件

后端 API

这是由使用各种其他平台创建和托管的应用程序公开的 API 终结点。例如,一个使用 .NET Core 构建并托管在本地服务器上的 Web API 应用程序。

!Azure APIM 中入站请求和出站响应的基本流程Azure APIM 中入站请求和出站响应的基本流程

API 网关

它充当了 API 使用者与 API 后端架构之间的抽象层。有了 API 网关,关于 API 如何开发、代码细节、托管详情等复杂信息就被隐藏起来了。这使得我们无需了解这些额外信息,就能更轻松地执行 API 的其他管理和监控任务。API 网关负责接收指向后端 API 的入站和出站请求。Azure 提供了一个与 API 终结点关联的 Azure 托管 API 网关。

Azure 还提供了托管网关和自托管网关。

  • 托管网关: 由 Azure 处理和维护。
  • 自托管网关: 一种创建和管理我们自己的网关的方式。在这里,我们需要启动一个容器,并在自己管理和操作的基础设施中托管网关。如果我们需要更强的安全性控制、对终结点流量的控制,或者希望 API 网关与 API 托管在相同的区域,这可能是一个不错的选择。

无论使用哪一种,都是网关在处理请求和响应,并与 Azure 监控功能集成,负责中继日志和指标信息以及满足策略要求。

API 管理平面

管理平面提供了设置 API 终结点、创建 API 服务实例、添加或删除策略、提供创建不同终结点的模板等管理能力。基本上,管理平面为 API 服务管理提供了管理工具。管理平面还有一个 REST API 终结点,使得我们也可以通过 ARM 模板、SDK、PowerShell、Visual Studio 等以编程方式管理和维护 API 管理服务。

开发者门户

这是一个自动生成但可定制的网站,显示所有已发布的 API 以及使用这些 API 所需的文档。开发者门户还提供了一个控制台,可以直接从门户内部测试 API 终结点。它是一个很棒的管理工具,允许开发者登录、订阅,甚至允许访客使用可用的 API。

Azure APIM 服务的基本构建块

产品

“产品”是指我们想要像打包一样发布给消费者的一组 API。当我们发布一组 API 作为产品时,我们可以:

  • 通过订阅控制 API 的访问方式
  • 设置访问审批流程
  • 在产品级别设置策略,使策略规则应用于产品中的所有 API
  • 在开发者门户控制台中测试 API

!API 终结点、开发者门户、策略、产品和订阅

订阅

订阅是使用订阅密钥安全访问 API 的一种方式。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49296.html
点赞
0.00 平均评分 (0% 分数) - 0