大家好! 朋友,2月21日,我们启动了
“后端PHP开发人员”课程。 期望课程的开始,我们希望与您分享一种有趣的材料的翻译。 享受阅读!
在10月的NGINX Conf 2018大会上,我们宣布了
NGINX控制器的新
API控制模块 。 借助该产品,我们正在巩固我们作为业界最广泛使用的
API网关的地位-数百万的站点已经在使用NGINX开源和NGINX Plus在服务器应用程序和这些应用程序提供的API使用者之间安全地传输流量。

但是有效地处理客户端请求只是成功的API的一个方面(尽管非常重要)。 您还需要在API的整个生命周期中进行管理,包括定义和发布它们以及保护和管理流量。 您需要跟踪和解决性能问题,以确保客户满意度,并分析流量以最大化业务价值。 全面的API管理对于API的快速采用和持续成功至关重要。
API管理涵盖了API的整个生命周期(在图中:从顶部开始顺时针方向-定义和发布,安全性,流量管理(API网关),持续监视和支持,对API访问量的分析。适应(Dev-portal);
在中心-API管理)
与我们的许多客户一样,您可能会发现API解决方案周围的概念和术语过于繁琐。 在此博客中,我们讨论了关键的API概念,并探讨了API管理与API网关的关系。
关键概念管理API具有自己的概念和术语:
- 内部API-内部API仅适用于企业内的其他应用程序(及其开发人员),不适用于外部用户。 内部API有助于打开数据并促进企业内各职能部门之间的协作。 这是一个很好的例子:在向客户提供帮助之前,企业技术支持团队必须确定客户是否具有有效的支持合同。 此信息已存储在企业客户关系管理(CRM)系统(如Salesforce)中。 客户支持应用程序不会在其自己的数据库中复制信息,而是调用内部CRM API。
- 外部API-企业外部的用户可以使用外部API。 它们提供了与第三方开发人员以及供应商,分销商,转售商甚至客户的整个业务生态系统建立合作伙伴关系的工具。 外部API还允许企业使用创新的业务模型来产生新的收入来源。 Google地图就是一个很好的例子。 许多第三方网站和应用程序都嵌入了Google地图,以帮助最终用户查明商店的位置或获取路线。 最终用户访问地图不会产生任何费用,但是在单击一定次数后,Google会对每个API调用从网站或应用程序中收取费用。
- 定义和出版 。 API管理解决方案提供了一个直观的界面,用于定义有意义的API,包括基本路径(URL),资源和端点。
- 资源是任何API定义的基础; 它们是API执行操作所依据的信息的抽象。 资源的示例是文档和客户ID。 调用API以获得此信息。
- 端点指示资源的位置。 API具有添加端点路径的基本URL。 所有API端点均引用基本URL。
- 例如,在API终结点处,
https://app.enterprise.com/v1/inventory/
/v1
是基本路径, /inventory
是资源。 - API管理解决方案允许API作者在各种环境中发布API,例如用于生产,测试或准备的环境。 这样可以确保每个环境的一致性,并防止配置错误。 该解决方案还可以自动创建新的API和修改现有的API。
- API网关-如前所述,API网关保护并提供后端与API使用者之间的流量。 网关功能包括API调用的身份验证,将请求路由到相应的后端,应用速度限制以防止系统过载或缓解DDoS攻击,卸载SSL / TLS流量以提高性能并处理错误和异常。
- Microgateway-许多解决方案具有集中的,密切相关的数据平面(API网关)和控制平面(API管理工具)。 所有API调用都必须经过控制平面,这会增加延迟。 当在分布式环境中处理流量(例如,微服务环境中的服务内流量或处理IoT流量以支持实时分析)时,这种体系结构方法中的API网关效率很低。 因此,对于流量管理,当消费者和API提供者非常接近时,过时的解决方案的供应商引入了附加的软件组件-用于处理API调用的微网关 。
- API分析 -随着您的API逐渐流行,您需要确保它们为您的用户提供价值并实现您的业务目标。 这就是分析变得至关重要的地方。 API管理解决方案通过可视化的指标和API使用情况(例如仪表板和报告)提供关键的见解,并告知您(作为示例)使用或不频繁使用哪些API,API流量随时间如何变化以及哪些开发人员是最好的API使用者。 API分析使API业务的所有者(有时也称为“ API产品经理”)可以深入了解API程序的性能。
- 分析对于故障排除也很重要。 API管理解决方案可深入了解每个API的性能。 这些指标使基础架构和运营团队可以跟踪和解决性能和安全问题。 以下是分析师可以回答的问题示例:
- 我所有的API网关实例的状态和正常运行时间是什么?
- 我们什么时候会看到API的速度下降?
- API何时会发生HTTP错误?
- 我的所有API网关实例的状态和正常运行时间是什么?
- 我们什么时候会观察到API的速度下降?
- API何时会发生HTTP错误?
- API安全性 -安全性是API基础结构的关键方面。 没有可靠的保护,任何人都可以通过对不安全的API调用请求来访问您的数据和API并引入恶意行为。 安全API包含以下元素:
- 身份验证 -身份验证是指可靠地确定呼叫者身份的过程。 API密钥是用于认证和标识要访问API的订户的标准机制。 API管理解决方案为API提供程序提供了用于生成API密钥的接口,然后可以将该接口传递给第三方开发人员以用于API调用。 OAuth是一种广泛使用的身份验证机制。
- 授权 -授权是指确定授予用户哪些特权或访问级别的过程。 授权用户的一种方法是通过JSON Web令牌 (JWT)。 JWT是要求声明的访问令牌(声明是用于单独特权的JWT术语)。 例如,由客户端应用程序呈现的JWT可以包括允许访问一个特定资源的断言。 如果客户端应用程序尝试访问任何其他资源,则返回HTTP 403 Forbidden错误。
- 基于角色的访问控制(RBAC) -RBAC是指具有特定特权的用户角色的定义。 例如,基础架构和运营员工通常不负责创建和发布API,而仅负责监视和故障排除。 因此,为他们分配了仅具有这些特权的角色。 同样,仅为API产品管理器分配了有权访问API分析的角色。
- 速度限制 -速度限制是指对请求代理在一定时间段内可以进行的请求数量施加限制(例如,每秒10,000个请求)。 速度限制可防止后端系统过载,并有助于缓解DDoS攻击。 API管理解决方案提供了一个接口,用于确定API网关随后适用的速度限制。 速度限制还允许您提供多级服务级别(例如,金级客户每秒可以发出10,000个请求,白金级客户可以发出5,000个请求)。
- 开发人员门户 。 开发人员门户网站是一个在线站点,您可以在其中发布资源来帮助您快速适应API使用者,例如外部API目录,完整文档和代码示例。 开发人员门户网站还允许第三方开发人员注册其应用程序并接收API密钥和JWT。 一些解决方案还提供了使用API的开发人员之间进行交互的机制。 设计良好的开发人员门户对于API程序的成功至关重要。
管理NGINX API:利用业界领先的API网关NGINX已经是业界使用最广泛的
API网关 -在我们最近的调查中,有40%的客户报告使用NGINX作为API网关。
新的
NGINX控制器API控制模块 (即将发布)将NGINX Plus作为API网关的强大功能和效率与新的管理级别功能结合在一起。 NGINX控制器允许基础架构和运营以及DevOps团队定义,发布,保护,跟踪和分析API,同时保持对API开发的控制。 全面的监视和警报有助于确保应用程序的可用性,性能和可靠性。 NGINX控制器提供了对关键指标的深入了解,使基础架构和运营以及DevOps团队能够首先避免性能问题并快速解决出现的任何问题。
我们管理API的方法与传统解决方案不同。 与这些解决方案不同,NGINX Plus API网关(数据平面)不需要与NGINX控制器(控制平面)的永久连接,因此API运行时通信量与控制通信量是隔离的。 NGINX控制器消除了对本地数据库或其他组件的需求,这些本地数据库或其他组件会给NGINX Plus API网关带来不必要的复杂性,延迟和故障点。 通过减少用于服务API调用的平均响应时间,可以最大程度地提高性能,并使网关的数量和复杂性最小。 从控制平面分离数据平面使您可以灵活地部署应用程序体系结构所需的API网关实例。 NGINX控制器使您可以自由地选择一个简单,高性能的简单解决方案,以满足API的内部和外部需求,该解决方案充分利用了NGINX Plus数据平面的优势。
NGINX技术支持
Capital One开发人员门户
-Devexchange 。 这使Capital One可以将其应用程序扩展到每天120亿次操作,峰值达到每秒200万次操作,而延迟仅为10到30毫秒。 NGINX还为
Adobe I / O开发人员支持
Adobe门户。 Adobe I / O使开发人员可以使用API集成,扩展和创建基于Adobe产品和技术的应用程序。 该平台每天会处理数百万个请求,但会稍有延迟。
这是翻译,您感觉如何? 我们一直在等待您的评论,并按照
惯例邀请您参加
公开课程 ,该
课程将于2月11日由我们的老师
Igor Sakhankov举行 。