负载均衡技术选型

现今常用负载均衡有两个:Nginx 和 Envoy。

Envoy 是一个高性能的开源代理(Proxy)和通信中间层,常用于做 七层负载均衡(L7 Load Balancer) ,和 Nginx 类似,但定位更偏"云原生基础设施"。Envoy = 面向微服务架构的智能代理 + 负载均衡器

Envoy 通常部署在服务之间,负责处理网络通信,比如:

text 复制代码
客户端 → Envoy → 后端服务A / 服务B / 服务C

它主要做这些事:
七层负载均衡(HTTP级别)

  • 根据 URL、Header、Cookie 做路由
  • 支持灰度发布、A/B测试

服务发现

  • 自动感知后端服务变化(比如配合 Kubernetes)

熔断 / 限流 / 重试

  • 某个服务挂了 → 自动熔断
  • 请求失败 → 自动重试
  • 防止雪崩

可观测性

  • 提供丰富的指标(metrics)
  • 支持分布式追踪(Tracing)
  • 日志详细

vs Nginx

对比点 Nginx Envoy
定位 Web服务器 + 负载均衡 云原生代理
配置方式 静态配置为主 动态配置(xDS)
微服务支持 一般 非常强
可观测性 较弱 原生支持 tracing / metrics
使用场景 网站、反向代理 微服务、Service Mesh

👉 Nginx 更像传统网关

👉 Envoy 更像微服务时代的"通信中枢"

Envoy 最出名的用途是作为 Sidecar(边车代理) ,比如在:

👉 Istio(服务网格)中

每个服务旁边都会部署一个 Envoy:

text 复制代码
服务A ←→ Envoy ←→ Envoy ←→ 服务B

这样带来的好处是:

  • 服务之间通信统一治理
  • 不用在业务代码里写网络逻辑
  • 安全、流量控制都交给 Envoy

比如"下单服务",要调用"库存服务":

如果不用 Envoy:

text 复制代码
下单服务 → 直接调用库存服务

用了 Envoy:

text 复制代码
下单服务 → Envoy → Envoy → 库存服务

👉 Envoy 可以帮你做:

  • 超时控制
  • 自动重试
  • 熔断
  • 灰度发布(只让10%请求走新版本)

总之:👉 Envoy 是一个为微服务而生的高性能七层代理,负责服务间通信、负载均衡和流量治理。

不过从全行业来看:

  • Nginx

    👉 仍然是最主流的 Web 服务器 / 反向代理之一

    👉 大量网站、公司都在用(包括中小公司)

  • Envoy

    👉 更多出现在云原生 / 微服务体系里

原因在于:

  • Nginx 出现更早(历史包袱优势)
  • 配置简单、上手快
  • 很多公司不做微服务,也没必要用 Envoy

但在"新架构"里,Envoy 更火,例如这些场景:

  • Kubernetes
  • Service Mesh
  • 微服务架构

那确实:

👉 Envoy 的存在感更强

尤其是在:

  • Istio
  • Kubernetes

这些体系中,Envoy几乎是"标配"。

在生产环境中两者可以协同工作,分工不同

🧱 Nginx(偏"入口网关")

  • 放在最前面(接用户请求)
  • 做:
    • 静态资源
    • HTTPS
    • 简单负载均衡

👉 更像"门卫"

🔁 Envoy(偏"服务间通信")

  • 放在服务之间(内部调用)
  • 做:
    • 服务治理(熔断、重试)
    • 动态路由
    • 可观测性

👉 更像"调度中心"

真实公司架构

text 复制代码
用户 → CDN → WAF → Nginx → 微服务 → Envoy → 服务A/B/C
  • 外部流量 → Nginx
  • 内部流量 → Envoy

👉 这才是最常见的组合

相关推荐
讯捷蓝达6 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落8 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
陈希1239 小时前
Nginx 从入门到能扛事:反向代理、负载均衡与 HTTPS 实战
nginx·https·负载均衡
lisanmengmeng9 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮10 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹10 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_10 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_10 小时前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS10 小时前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
无忧_wy10 小时前
MoneyPrinterTurbo 自动化视频生成实战指南
运维·人工智能·自动化·音视频