后端服务从单机扩展到大规模分布式系统时,反向代理、负载均衡器和 API 网关这三个术语经常被混用。它们都位于用户和服务器之间,但解决的是完全不同的故障和扩容问题。
直接连接(第0层):客户端直连后端服务器,服务器需同时处理TLS握手、静态文件、业务逻辑和安全风险,像让外科医生同时管挂号。
反向代理:放在服务器前端,负责SSL卸载、缓存、压缩、隐藏真实IP。典型工具有Nginx、HAProxy、Caddy、Envoy。它不感知业务逻辑,只按静态规则转发流量。
负载均衡器:是反向代理的进化版,专注于智能流量分配与健康检查。支持轮询、最少连接、加权轮询、IP哈希等策略,可在L4(TCP/IP)或L7(HTTP)层工作。主要工具有HAProxy、AWS ALB/NLB。
API网关:作为理解API的反向代理,统一处理认证、限流、版本迁移、请求/响应转换、可观测性。典型工具有Kong、AWS API Gateway、Apigee、Tyk。常用于微服务架构中的横切关注点集中治理。
实际工具经常跨越理论边界:Nginx可加upstream变负载均衡,加Lua插件可做API网关;Kong基于Nginx构建。生产系统通常分层部署:CDN(全球反向代理)→ API网关 → 服务负载均衡 → 本地代理。
选择建议:单服务器用反向代理(SSL/缓存);多服务器水平扩展用负载均衡器(健康检查);复杂公共API或微服务用API网关(认证/版本/限流)。
#开发者 #工具 #系统设计 #微服务 #架构 #反向代理 #负载均衡 #APIGateway
@DevToolboxHub
