首页 > 其他分享 >什么是API网关

什么是API网关

时间:2022-12-06 21:00:15浏览次数:42  
标签:网关 调用 服务 什么 应用程序 API 客户端

API网关是当今互联网应用在前后端分离背景下,微服务架构、分布式架构、多端化服务等架构中重要的组成部分,作为应用层统一的服务入口,方便平台管理和维护众多的服务接口。

作为存在于企业信息系统的边界强管控服务,API网关是面向API、串行、集中化的管控工具,它提供高性能的API托管服务,使用户能够快速、低成本、低风险地开放服务能力。一般来说,API网关由核心控制系统和后台管理系统两部分组成。

  • 核心控制系统:为了满足业务需要所对外提供的核心API能力的总称,比如处理安全策略、流量控制、服务鉴权、熔断、参数校验、参数映射、协议转换、服务生命周期管理等所有核心业务能力。
  • 后台管理系统:用于辅助核心控制系统所提供的能力总称,比如用户管理、应用接入管理、SDK和API文档生成、服务授权控制、服务策略绑定等功能的管理能力,为管理人员提供可视化的操作界面,降低API管理难度。

在API网关的周边,与相邻应用程序的上下文关系如下。

  • 和后端API服务之间的关系:API提供者在提供稳定的API后,在API网关中注册并发布API或生成SDK,才可以被终端业务系统调用。
  • 和客户端应用程序之间的关系:不同的客户端/终端应用程序首先访问API网关,经过一系列的API控制器、网关路由到目标API。
  • 和运维监控系统之间的关系:API网关接入运维监控系统,一方面用于监控网关和服务器的运行情况,另一方面也可以监控各个已注册API的运行健康情况,并在异常时可以触发告警。
  • 和日志平台之间的关系:API网关接入日志平台,用于采集API的调用信息,完成问题分析、调用链跟踪、调用数据统计等。

什么是API网关_API网关

使用API网关的系统架构中,API网关层将内部服务和外部调用隔离,客户端应用程序调用的后端服务都通过网关的映射来完成,很好地隐藏了内部服务数据,保障了服务的私密性和安全性。同时,在整个架构上,能让业务使用者抽出更多的精力来关注核心业务能力建设,而不是通用的安全性、流控等边界特性的问题。这在快速增加新业务或改变原有应用系统、服务时,对现有架构和应用程序的影响能降低到最小。

API网关现在已经成为应用技术架构中的基础组件,这与API网关在系统架构所能解决的问题和产品优势密不可分。API网关产品除了在网络边界起到内外部隔离外,还有如下特点。

  • 减少客户端与服务器端的耦合,后端服务可以独立发展。其主要表现为:客户端应用程序调用后端服务都是通过网关的映射完成的,在这样的场景下,内部服务的变更只需要通过修改网关定义即可,客户端应用程序不需要做任何变更。API网关通过统一标准的协议来整合现有不同架构、不同语言、不同协议的服务资源,实现业务互联互动,减少客户端或服务器端的改变对对方造成的影响。
  • 集成多种安全机制,保障服务交互的安全性。典型的有通信加密、身份认证、权限管理、流量控制等安全手段。API网关为每一个应用接入者提供不同的加密密钥或证书,支持多种加密方式和安全传输协议,在保障通信双方身份可信的前提下,可以防止数据在传输过程中被窃取或篡改。同时,依赖于API网关的多种安全保护机制,也为后端服务技术实现时在安全方面的投入减轻压力。
  • 支持服务熔断设置,根据熔断规则和熔断执行自动执行熔断策略,同时支持线上调试,比如Mock方式,能够更加方便API服务上线发布和测试操作。
  • 提供多种协议的接入、转换与代理功能,比如常见的接口协议RESTful、WebSocket、Dubbo、WebService、独立文件传输等协议,这也为后端服务的混合通信协议提供了可选择性。面向外部合作伙伴或第三方厂商通常提供基于RESTful或WebService形式的API,但后端服务内部可以在不同的业务部门或项目组之间使用不同的技术栈,比如RESTful、GraphQL、Dubbo等,而不用担心外部调用的不兼容性。

API网关能对API的全生命周期进行规划和管理,其适用的场景非常广泛,除了API开放平台之类的生态化应用以外,典型的使用场景还有多种API协议转换、API安全接入、多终端协议适配等。

  • 多种API协议转换

在大型异构系统中,API网关在管理后端API服务的同时作为协议转换工具使用是比较常见的场景。比如外部调用是使用HTTP/HTTPS加WebSocket协议API请求方式,API网关需要将其请求转换为后端服务所能提供的RESTful、Dubbo、WebService、WebSocket、Spring Cloud注册中心等形式。

  • API安全接入

API网关所提供的服务鉴权、流量控制、熔断机制、参数校验等多种安全机制以及不同机制间的任意组合,能高效、集中地解决安全设计部分所提及的安全问题。业务调用的API请求在经过API安全验证之后才会达到后端服务。

  • 多种终端协议适配

因外部合作伙伴或第三方厂商业务形态的不同,往往存在多种终端类型的客户端应用程序,比如H5小程序、Android应用程序、桌面应用程序等。这些应用程序往往涉及不同的开发语言,在API网关产品中通常提供多端适配的功能。

标签:网关,调用,服务,什么,应用程序,API,客户端
From: https://blog.51cto.com/key3feng/5916634

相关文章