API Gateway

API Gateway #

虽然人类通常通过GUI(图形用户界面,例如网页或桌面应用程序)与程序交互,但计算机之间通过API(应用程序编程接口)实现交互。不过,API不应与API网关混淆。

API网关允许组织将关键功能(如授权和请求限制)集中到一个管理位置。它还为API消费者(通常是外部用户)与应用程序之间提供通用接口。

解决的问题 #

尽管大多数容器和核心应用程序都提供API,但API网关的作用远不止于此。它简化了管理和应用规则的流程。

通过API网关,开发人员无需编写和维护大量自定义代码(这些功能已被集成到网关中)。此外,它帮助团队更好地监控和控制应用用户与应用程序的交互。

提供的帮助 #

API网关充当用户和应用程序之间的中介,接收用户的请求,并将其转发到适当的服务。在此过程中,网关会验证用户是否有权限执行其操作,同时记录请求的相关信息,如请求发起人和请求次数。

简单来说,API网关为应用用户提供了一个统一入口点,同时将原本需要在应用中实现的任务交给网关,从而节省开发资源。

示例

以亚马逊商店卡为例。亚马逊与一家银行合作,该银行负责发行和管理商店卡,并从每笔交易中收取一定费用。银行使用API网关来授权零售商请求新卡,跟踪交易次数以便计费,甚至限制每分钟的请求量。这些功能都被集成到网关中,而不是嵌入服务本身。服务只需专注于核心任务,如发卡。

技术基础 #

与代理和服务网格类似,API网关将自定义代码从应用程序中抽离,并集成到中央系统中。它通过拦截对后端服务的调用,执行增值操作(如验证授权、收集指标或转换请求),然后决定如何处理请求。

API网关不仅是下游应用程序的通用入口,还提供一个注入业务逻辑的场所,用于处理授权、速率限制和计费分摊。它使开发人员能够屏蔽下游API的变更对客户的影响,并将诸如客户接入等任务交由网关处理。

Keywords #

  • API Gateway

Projects #

  • Emissary-Ingress (incubating)
  • Easegress (sandbox)
  • Kuadrant (sandbox)
  • Kong
  • Traefik
  • Tyk
  • APISIX
  • KrakenD
  • Spring Cloud Gateway
© 2025 青蛙小白 | 总访问量 | 总访客数