梗概

  • 负载均衡:做请求分发
  • Nginx:可实现反向代理与简单负载均衡
  • API 网关:更全面的 API 管理(鉴权、限流、路由、观测等),通常内置或对接负载均衡

API网关与负载均衡的区别

API 网关负载均衡虽然都处于请求处理的前端,但它们的职责和关注点有本质的不同。

核心区别

  • API 网关: 聚焦于 API 的全生命周期管理,是业务逻辑层面的网关。

    • 功能: 请求路由、协议转换(如 HTTP 与 RPC 互转)、身份认证(如 OAuth、API 密钥)、权限控制、请求限流、日志监控、数据格式转换等。
    • 角色: 客户端与后端服务之间的“入口管家”,处理复杂的 API 业务逻辑。
  • 负载均衡: 核心是将请求流量均匀分配到多个后端服务实例,是网络流量层面的调度器。

    • 功能: 避免单节点过载,提升系统可用性和吞吐量。
    • 角色: 不关心具体的业务逻辑,只负责分发流量。

总结

特性API 网关负载均衡
关注点API 管理、业务逻辑流量分发、高可用
协议HTTP, RPC, WebSocket 等TCP, UDP, HTTP, HTTPS
功能认证、限流、路由、监控、协议转换轮询、最少连接、IP 哈希等分发策略
层级应用层(L7)传输层(L4)或应用层(L7)
关系通常位于负载均衡之后,后端服务之前通常位于最前端,接收所有外部流量

在典型的微服务架构中,一个请求的路径通常是:

客户端 -> GSLB -> 负载均衡 -> API 网关 -> 后端服务