行至水穷处 坐看“云”起时

Cloud Native ADN -> CNadn.Net

API管理

像我们的许多客户一样,您可能会发现围绕API解决方案的概念和术语的内容相当令人生畏。 在本博客中,我们将讨论关键的API概念,并探讨API管理与API网关之间的关系。

《API管理》

关键概念

API管理带有自己的概念和术语:

  • 内部API   – 内部API仅暴露给企业内的其他应用程序(及其开发人员),而不暴露给外部用户。 内部API有助于解锁数据并促进企业内功能单元之间的协作。 以下是一个说明性示例:在向客户提供帮助之前,企业的技术支持团队需要确定客户是否拥有有效的支持合同。 该信息已存储在企业的客户关系管理(CRM)系统中,例如Salesforce。 客户支持应用程序调用CRM的内部API,而不是在自己的数据库中复制信息。
  • 外部API   – 外部API向企业外部的用户公开。 他们提供了构建与第三方的合作伙伴关系的手段 – 第三方开发者以及供应商,代理商,经销商的整个商业生态系统,甚至是客户。 外部API还使企业能够使用创新的商业模式产生新的收入来源。 谷歌地图是一个说明性的例子。 许多第三方 – 第三方网站和应用程序中嵌入谷歌地图,以帮助最终用户查明零售位置或规划路线。 最终用户不需要花费任何费用来访问地图,但在一定数量的点击后,Google会针对每个API调用向网站或应用收费。
  • 定义和出版   – API管理解决方案提供直观的界面来定义有意义的API,包括基本路径(URL),资源和端点。
    • 资源   是任何API定义的基础; 它们是API执行操作的信息的抽象。 示例资源是文档和客户ID。 调用API以检索此信息。
    • 端点   指定资源的位置。 API具有附加端点路径的基本URL。 所有API端点都与基本URL相关。

例如,在API端点中   https://app.enterprise.com/v1/inventory/ ,   / V1   是基本路径和   /库存   是资源。

API管理解决方案使API作者能够将API发布到各种环境,例如生产,测试或登台。 这可确保每个环境的一致性并防止配置错误。 该解决方案还可以自动创建新API并修改现有API。

  • API网关   – 如前所述,API网关可以保护和协调后端与API使用者之间的流量。 API网关功能包括验证API调用,将请求路由到适当的后端,应用速率限制以防止系统过载或缓解DDoS攻击,卸载SSL / TLS流量以提高性能,以及处理错误和异常。
  • Microgateway   – 许多解决方案具有集中的,紧密耦合的数据平面(API网关)和控制平面(API管理工具)。 所有API调用都必须通过控制平面,这会增加延迟。 在分布式环境中操作时的流量( – 时间分析, 例如业务内的流量在微服务环境或处理物联网业务以支持实时 ) 在这个架构方法的API网关是低效的 。 因此,为了管理API消费者和提供商非常接近的流量,传统解决方案的供应商已经引入了   附加软件组件称为   microgateway   处理API调用。
  • API分析   – 随着您的API变得流行,您需要确保它们为您的API消费者提供价值并满足您的业务目标。 这就是API分析变得至关重要的地方。 API管理解决方案通过可视化提供重要见解   – 例如仪表板和报告   – 进入API指标和使用情况,通知您(作为示例)最常使用哪些API,API流量如何随时间推移趋势,以及哪些开发人员是最顶级的API使用者。 API分析可启用API业务所有者   – 有时也称为API产品经理   – 深入了解API程序的性能。

分析对于故障排除也很重要。 API管理解决方案提供深入了解对每个运营指标 – API的基础。 这些指标支持基础架构   和运营团队监控和解决性能和安全问题。 以下是分析可以帮助解答的问题示例:

  • 我所有API网关实例的状态和正常运行时间是多少?
  • 我们什么时候看到API的减速?
  • API何时发生HTTP错误?
  • API安全性   – 安全性是API基础架构的一个重要方面。 如果没有强大的安全性,任何人都可以通过调用不安全的API来访问您的API和数据并引入恶意行为。 API安全性包含以下元素:
    • 认证   – 认证是指可靠地确定呼叫者身份的过程。   API密钥   是用于验证和识别想要访问API的呼叫者的标准机制。 API管理解决方案提供了一个接口,API提供商产生,然后可以与第三方共享API密钥 -第三方开发商调用API调用时使用。 OAuth是一种广泛使用的身份验证机制。
    • 授权   – 授权是指确定向用户授予哪些特权或访问级别的过程。 授权用户的 一种方法 是通过   JSON Web令牌   (JWTs)。 JWT是断言的访问令牌   索赔   (个人特权的JWT术语)。 例如,客户端应用程序提供的JWT可能包含一个允许访问一个特定资源的声明。 如果客户端应用程序尝试访问任何其他资源,则为HTTP   403   被禁止   错误被返回。
    •  基于 角色 的访问控制(RBAC)   – RBAC是指定义具有某些特权的用户角色。 例如,基础设施   &Operations员工通常不负责创建和发布API,但仅用于监控和故障排除。 因此,他们被分配到只具有这些权限的角色。 同样,只为API Product Manager分配了可以访问API分析的角色。
    • 限速   – 速率限制是指对呼叫者在规定的时间段内可以发出的请求数量施加限制(例如,10,000   每秒请求数)。 速率限制可防止后端系统过载,并有助于缓解DDoS攻击。 API管理解决方案提供了用于定义速率限制的接口,然后API网关将强制执行该接口。 利率限制还使您能够提供分层服务(例如,金牌客户可以赚取10,000   每秒请求,而Silver客户可以制作5,000)。
  • 开发者门户   – 开发人员门户是一个在线位置,您可以在其中发布有助于快速入门API使用者的资源,例如外部API目录,综合文档和示例代码。 开发者门户网站还允许第三方 – 第三方开发商注册他们的应用程序,并获得API和智威汤逊键。 某些解决方案还为使用API​​的开发人员之间的交互提供了一种机制。 良好 – 设计的开发人员门户是关键到您的API项目的成功。

Google机器翻译自
https://www.nginx.com/blog/what-is-api-management/

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据