API 管理、API 网关以及 API 分析和监控适用于哪里?
过去几年,API 驱动的业务呈现爆炸式增长。有创收 API、开发者平台、合作伙伴市场,甚至还有支持单页应用的内部 API。
随着这一爆炸式增长,API 工具也大量增加,以帮助这些公司尽快将其 API 平台推向市场,并在创新方面超越任何竞争对手。工具数量的增加在很大程度上反映了我们在移动时代所看到的情况。然而,随着这一爆炸式增长,用于构建和发展 API 和平台的工具和解决方案的数量也在增加。
此外,API 网关等工具既可以用作面向公众的 API 前端的代理,也可以充当协调各种内部服务的服务网格。本指南旨在概述各种 API 工具。
API 网关
API 网关是位于 API 前端的 HTTP 服务器/代理服务器,提供管理、路由和保护 API 和服务的中心位置。API 网关应部署在集群中,以便您可以通过添加更多机器来水平扩展系统并确保高可用性。API 网关通常是本地设备,但现代网关通常基于开源或开放核心模型。例如,Kong 基于 NGINX,而 Express Gateway 基于 Node.js Express。
还有来自云供应商的专有云解决方案,例如 AWS API Gateway 和 Azure API Management。通常,API 网关将执行以下操作:
身份验证和速率限制
部署 API 网关的主要目的是提供一种安全的方式来访问您的 API 并防止恶意活动。如果您的 API 需要身份验证,API 网关提供了一种简单的方法来为每个消费者生成和管理 API 密钥。没有正确凭据访问您的 API 的客户端将获得一个 401 Unauthorized
。为了确保公平性,可以实施 API 安全策略(例如速率限制),例如每个 API 密钥每分钟限制 100 个请求。可以根据 API 密钥、通过 IP 地址(如果未添加身份验证层)或其他自定义策略来实施速率限制。您甚至可以包含其他安全策略(例如机器人检测)并防止 HTTP 负载过大。
缓存和 CORS 政策
缓存使您的 API 平台能够处理更多客户端并吸收峰值流量。某些类型的内容(例如电子商务和旅行)可以从缓存中受益匪浅。其他内容(例如银行和金融服务)可能无法从缓存中受益,因此您需要进行成本效益分析,以确定缓存是否适合您的后端服务。可以强制实施其他策略(例如 CORS(跨源资源共享)),以允许从 Web 浏览器访问 API。
数据验证和转换
API 网关提供了一种向 API 添加数据转换规则的中央机制。数据转换可以很简单,例如 URL 重写(例如将 api.example.com/search 重写为 search.example.com),也可以更复杂,例如将 XML 转换为 JSON。如果您已经有许多想要作为 API 公开的旧式内部服务,即使这些旧式服务使用的是较旧的内容格式(例如 XML 而不是 JSON),这也很方便。
除了数据转换之外,一些 API 网关还可以组合端点以避免 API 链接。这使您的客户能够利用单个公共端点,GET /user/me
即使它必须从各种内部服务(如身份验证服务、用户服务和计费服务)中获取数据。来自这些内部服务的响应将组合成单个响应以返回给客户端。这使得客户更容易使用您的 API,因为他们不必执行 API 链接。一个极端的例子是 Apollo GraphQL,它可以从许多服务中获取许多实体并将它们组合成单个 API 端点POST /graphql
API Canary 发布/版本控制
与数据转换类似,借助 API 网关,您可以利用 API 网关将用户路由到服务的特定版本。这可以通过标头字段、路径段(例如/v1
或)来完成/v2
,甚至可以处理复杂的金丝雀发布,其中一定比例的用户流量被路由到新版本。随着您对发布的信心增加,使用更新的 API 版本的用户比例可以慢慢增加。通过执行逐步升级,您可以最大限度地降低新 API 发布因功能或性能问题而导致系统范围中断的风险。
API 分析
一旦您投资了 API 平台,您就会希望通过构建客户实际采用且没有错误的 API 平台来确保获得投资回报。像Moesif这样的 API 分析解决方案可以补充您的 API 网关,为您提供实现产品领先增长所需的必要可见性和报告。这包括您的客户如何使用您的 API、他们是谁以及哪些营销渠道引导他们进行集成。除了报告之外,API 分析通常还包括实时监控功能,因此当问题确实发生时,您可以随时收到警报。
虽然 API 管理和 API 网关解决方案是为基础设施和站点可靠性工程而设计的,但 API 分析通常是为更广泛的技术和非技术用户而设计的,包括产品、工程和支持。正因为如此,像 Moesif 这样的 API 分析供应商更有可能是托管的 SaaS 解决方案,而不是本地解决方案,但也可以自行开发。
API产品分析
产品分析可让您跟踪和了解关键 API 指标,例如 API DAU(每日活跃用户)、顶级客户正在使用的端点以及关键端点的第 90 百分位延迟。一些 API 分析工具提供更复杂的分析,例如群组留存分析和漏斗分析,因此您可以跟踪 KPI,例如平均首次 Hello World 时间(TTFHW) 和转化率,从而了解您的产品的吸引力和粘性。
TTFHW 衡量从首次访问您的登录页面到通过您的 API 平台进行首次交易的 MVP 集成所需的时间。这是一个跨职能指标,跟踪营销、文档和教程以及 API 本身。
API 日志记录/调试
除了衡量留存率和参与度等产品指标外,API 分析还提供了一种简单的方法来加快调查和调试 API 功能和性能问题。高基数日志分析使您可以使用热图、时间序列、瀑布图和其他图表绘制趋势。一些 API 分析还会实时记录完整的 API 调用,以便您可以检查请求和响应标头和正文,并进行差异分析甚至重播并从失败的事务中生成测试。
API 监控
许多 API 分析工具还提供 API 监控和警报功能,因此您可以在 API 发生故障或运行异常时收到通知。与简单的健康探测合成监控不同, API 真实用户监控根据历史趋势检测客户实际 API 流量中的异常行为。API 问题可能与业务有关,例如来自关键客户的 API 活动意外下降,也可能与工程有关,例如功能或性能问题。具体来说,API 分析侧重于几个关键支柱:
团队仪表板
一些 API 分析解决方案提供了一种与技术和非技术团队成员共享和协作仪表板的方法,或者自动对使用数据进行沙盒处理,以便您可以以安全的方式直接与外部合作伙伴共享仪表板。通过在面向客户的门户中嵌入 API 调试日志和计划使用信息,客户可以解决问题,而不会给已经捉襟见肘的支持团队带来负担。
用户和/或公司角色
API 分析工具从您的 CRM、BI 和支持工具中提取数据。这使您的客户成功和支持团队能够通过客户的电子邮件或姓名查找客户的 API 活动,以快速解决集成问题。用户和公司级别的信息还使您的公司能够集中跟踪各种潜在客户和客户如何集成和坚持使用您的 API。
API 管理
虽然 API 网关和 API 管理可以互换使用,但严格来说,API 网关是指单个代理服务器,而 API 管理是指管理生产中的 API 的整体解决方案,其中包括一组在集群中运行的 API 网关、一个管理 UI,甚至可能包括其他项目,例如供客户注册和生成新 API 密钥的开发人员门户。
管理面板可以实现以下几项功能:
- 能够添加和删除安全等插件
- 一种编辑和可视化数据转换(例如 XML 到 JSON)的方法
- 上传和管理 SSL 证书
原文链接:API Management vs API Gateway and where does API Analytics and Monitoring fit?
Keyword: glm-4是什么