Load Balancer vs API Gateway(能否相互替代)

发布: (2025年12月17日 GMT+8 17:45)
3 min read
原文: Dev.to

Source: Dev.to

在现代架构中,负载均衡器和 API 网关都是关键组件,但它们解决的是不同的问题。由于它们有时会出现在同一请求路径中,容易被混淆,甚至被视为可以互相替代的。

Load Balancer Types

Load BalancerOSI LayerWhat It Understands
L4 Load BalancerLayer 4(传输层)TCP/UDP、IP、端口
L7 Load BalancerLayer 7(应用层)HTTP/HTTPS、请求头、路径

关键点: 负载均衡器主要关注流量分发,而不是 API 逻辑。

API Gateway

ComponentOSI Layer
API GatewayLayer 7(应用层)

API 网关深刻理解 HTTP 语义,例如:

  • 请求头
  • JSON 负载
  • 授权令牌
  • 请求路径
  • API 版本

Key Differences at a Glance

AspectLoad BalancerAPI Gateway
Primary Purpose分发流量管理 API
OSI LayerL4 或 L7仅 L7
Authentication❌(非常有限)✅ 内置
Rate Limiting
API Versioning
Request Transformation
Protocol AwarenessTCP/HTTPHTTP/REST/GraphQL
Backend Awareness服务器微服务 & API

Why One Can’t Replace the Other

Load Balancer

  • 类比: 像交通警察 🚦 决定哪个服务器来处理请求。
  • 第 4 层职责: IP 地址、端口号、TCP/UDP 连接。
  • 第 7 层职责(如适用):
    • 在服务器之间分配流量
    • 基于路径的路由(例如 /api → server A
    • 粘性会话(将同一用户发送到同一服务器)
    • 健康检查
    • SSL 终止

注意: 粘性会话仅表示“再次将该用户发送到同一服务器”。它 涉及身份检查、令牌验证或权限强制。

负载均衡器的设计目标是快速、轻量且简单。加入繁重的安全逻辑会降低性能并增加扩展难度。

API Gateway

  • 类比: 像大楼入口的保安 🛂 控制对 API 的访问。
  • 核心职责:
    • 认证(JWT、OAuth、API 密钥)
    • 授权(用户可以做什么)
    • 限流与节流
    • API 版本管理(v1、v2、…)
    • 请求/响应转换
    • 日志与监控

API 网关关注 在调用、调用频率 以及 他们被允许访问什么。认证涉及令牌校验、过期检查、角色/权限检查,有时还需要调用外部身份存储——远远超出仅读取 HTTP 头部的范围。

Summary

  • 负载均衡器: “这个请求应该去哪里?”——侧重路由和基本健康检查。
  • API 网关: “谁在调用以及他们能做什么?”——提供安全、流量整形以及 API 专属功能。

由于它们在职责层面上不同,即使两者都在第 7 层工作,负载均衡器也无法完全取代 API 网关。

Back to Blog

相关文章

阅读更多 »