🏠 首页 攻略 API网关是什么?微服务时代的交通指挥官

API网关是什么?微服务时代的交通指挥官

什么是API网关?

你有没有想过,一个大型APP背后可能有几百个微服务在协作?

用户登录、查订单、查库存、算价格、支付……每个功能都是一个独立的服务。如果让客户端直接找每个服务,会发生什么?

太乱了。就像去商场买东西,要跑到每个店铺门口问路,效率极低。

API网关就是那个"前台接待"。所有请求先到它那里,它负责指引、中转、甚至拦截。

它有什么用?

1. 统一入口

不用记住几十个服务的地址,所有请求都走同一个门。

用户 → API网关 → 用户服务 / 订单服务 / 支付服务 ...

2. 权限检查

网关可以在入口处验证身份,不用每个服务都写一遍鉴权逻辑。

3. 限流保护

高峰期流量太大?网关可以限制每个用户的请求频率,保护后端服务不被打爆。

4. 协议转换

前端发HTTPS请求,后端用gRPC通信,网关来做翻译。

5. 日志监控

所有请求经过网关,方便统一记录、统计、排查问题。

常见的API网关

  • Kong:开源,插件丰富,社区活跃
  • Nginx + Lua:性能好,适合简单场景
  • Envoy:云原生时代的新宠,服务网格标配
  • APISIX:国产开源,支持动态配置
  • AWS API Gateway:AWS生态专用

打个比方

把微服务架构想象成一家快递公司:

  • 每个仓库(服务)只负责自己的事:有的存包裹,有的分拣,有的运输
  • API网关就是"前台收件窗口"
    • 你交包裹,它登记、定价、告诉你运到哪里
    • 它拦住了恶意包裹(权限检查)
    • 它控制每天的收件量(限流)
    • 它给你一张统一单据(响应格式统一)

总结

API网关不是必须,但服务一多就离不开。它让客户端少操心,让后端服务更专注。

下次听到"接入API网关",就知道:这是在给微服务系统找个"交通指挥中心"。