什么是 API 网关?它的作用是什么?

回答·13
最热
最新
  • 接口的鉴权,负载,降峰,限流,熔断
  • api 管理和部分网络管理
  • api 网关用于统一暴露接口,在后台服务与前端之间架起一层隔离墙,统一管理和维护
  • 网关就像公交站的调度室,负责调度流量
  • API 网关并不是微服务场景中必须的组件,如下图,不管有没有 API 网关,后端微服务都可以通过 API 很好地支持客户端的访问。 ! ! 但对于服务数量众多、复杂度比较高、规模比较大的业务来说,引入 API 网关也有一系列的好处: 聚合接口使得服务对调用者透明,客户端与后端的耦合度降低 聚合后台服务,节省流量,提高性能,提升用户体验 提供安全、流控、过滤、缓存、计费、监控等 API 管理功能 在网易云与客户合作的技术实践中,客户往往需要通过统一的 API 网关进行服务能力的共享,提供发布、管理、保护和监控 API的能力,实现跨系统、跨协议的服务能力互通。以德邦快递为例: 一是客户需要通过 API 网关的熔断/限流/降级服务治理等能力和服务治理框架层相结合,来保证物流系统更好地支撑峰值流量的冲击; 二是有些特殊场景的接口,比如支付接口,需要设置调用权限,API 网关配合中间框架更好实现黑白名单和权限的控制; 三是网关的流量镜像能力,可以转发到压测环境,客户能够更好地估计系统能够承载的最大量; 此外,API 网关通过流量的控制,还可以让客户更快地做好灰度发布、A/B 测试。 基于这样的需求,网易云轻舟微服务平台的设计也包含了 API 网关组件的设计,采用插件式流量复制与分流实现,以提高系统的稳定性和响应效率,不过团队提供了可拆卸的模式,供用户按照实际的应用场景来选择。 -----------补充一下轻舟微服务平台的一些相关设计-------------- API 网关中的服务路由和服务治理: 服务路由 静态路由策略配置 后端服务的软负载均衡 后端服务的心跳检查 参数分流 流量的镜像复制 服务治理 后端服务的故障隔离 网关、服务、API 级别的限流和熔断 固定时段和周期时段的 API 维护开关 服务治理框架层的服务治理和流量管理: 服务治理 服务限流,支持 QPS、Thread 等多种限流方式 降级与熔断,支持基于RT、错误率的熔断策略以及手动降级策略 服务容错,支持 failover、failfast、failback等多种容错机制 流量管理 路由管理,支持基于黑白名单的路由规则 负载均衡,支持多种负载均衡规则,兼容 Spring Cloud Ribbon 参数分流,支持参数取模、名单分流、权重分流等
  • 分发,鉴权,断流,灰度。
  • API 接口是 AB 两个软件产品间衔接的对等技术标准的数据传输调用接口,为了防止双方或单方交换获取协议以外的操作,API 网关就成了一种安全机制,作用就是保证己方的技术资产安全
  • 网关:就是连接两个网络的设备,对于语音网关来说,可以连接 PSTN 网络和以太网,这就相当于 VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。三大功能:一.是它支持邻居获取机制,即允许一个路由器请求另一个路由器同意交换可达信息。我们可以说,一个路由器获得了一个 EGP 对等路由器或一个 EGP 邻站。EGP 对等路由器仅在交换选路信息的意义上来说是邻站,而不论其地理位置是否邻近。二.路由器持续地测试其 EGP 邻站是否能够响应。三.EGP 邻站周期性地传送选路更新报文。
  • API是Application Programming Interface缩写,翻译成中文就是应用程序接口。在实际微服务中可以理解一个个功能方法。就比如你一个用户服务的微服务,可以对外提供 API 接口为,查找用户,创建用户等。
  • 常用的是 nginx 来处理和转发请求,起到一种反向代理的作用。