实用指南:云原生网络基础设施的核心组件Envoy

news/2025/10/10 11:18:13/文章来源:https://www.cnblogs.com/yxysuanfa/p/19132617

我们来全面、深入地探讨一下Envoy这个在现代微服务架构中扮演着至关重要角色的中间件。

Envoy 是一个开源的、高性能的边缘和服务代理,专为云原生应用而设计。它最初由 Lyft 公司开发,后来捐赠给Cloud Native Computing Foundation (CNCF),并已成为毕业项目,与 Kubernetes、Prometheus 等项目同级,这标志着其成熟度和广泛应用性。


一、Envoy 的核心定位:它是什么?

透明地接管这些网络流量,并为其提供一系列关键作用,而就是容易来说,Envoy 是一个“智能网络管道”。在微服务架构中,服务之间的通信(东西向流量)以及外部客户端到内部服务的通信(南北向流量)变得极其复杂。Envoy 的核心工作就无需修改应用程序代码

核心设计理念:

  • 透明代理:应用程序通常不知道 Envoy 的存在。它们像平常一样发起网络调用,但这些调用被 Envoy 拦截和处理。

  • 面向 API:所有配置(理论上)都可以通过 API 动态下发,使其能够快速适应变化的环境。

  • 现代 C++:高性能、低延迟、低资源开销。


二、Envoy 的核心功能(为什么它如此强大?)

Envoy 的功能集非常丰富,几乎涵盖了现代网络中间件的所有需求。

1. 服务发现与动态配置
  • Envoy 可以自动发现上游(Upstream)服务实例。它支持多种服务发现源,如:

    • Kubernetes API:自动发现 Pod 和 Endpoints。

    • Consul, Eureka, Nacos:与其他服务注册中心集成。

    • 静态配置:直接配置 IP 地址列表。

  • 通过 xDS API(如 EDS, CDS, LDS, RDS)可以动态接收所有配置(监听器、集群、路由等)的更新,无需重启,实现“热配置”。

2. 高级负载均衡
  • 算法多样:支持轮询、最少请求、哈希、随机加权等。

  • 地域感知路由:优先将流量路由到同一地域或可用区的服务实例,降低延迟。

  • 断路器:自动检测不健康的上游实例,将其从负载均衡池中移除,防止故障扩散。

3. 可观察性(Observability)

这是 Envoy 的一大亮点。它生成了极其丰富的运行时资料:

  • 指标(Metrics):大量内置指标(如请求数、延迟、错误码)可通过 /stats 端点暴露,并与 Prometheus 等系统集成。

  • 分布式追踪(Tracing):原生支持 Zipkin、Jaeger、OpenTelemetry 等,自动为请求注入追踪头,帮助定位跨服务性能问题。

  • 访问日志(Access Logs):记录每个请求的详细信息,可自定义格式并输出到档案或标准输出。

4. 安全(Security)
  • TLS 终端:可以在代理处终止 TLS 连接,减轻后端服务的负担。

  • mTLS(双向 TLS):在服务之间建立基于身份的双向加密通信通道,这是达成零信任网络的基石。

  • 网络层控制:支撑基于 IP/CIDR 的访问控制。

5. 高级路由与流量管理
  • 基于内容的路由:可能根据 HTTP 头部、路径、手段等信息将流量路由到不同的服务版本。

  • 流量切分/镜像:许可将特定比例的流量(如 1%)导入到新的服务版本(金丝雀发布),或者将流量镜像(复制)到另一个服务而不影响主流程(影子流量)。

  • 重试、超时、熔断:精细控制请求的重试策略、超时时间和故障处理逻辑。

6. 协议支持
  • 支持 HTTP/1.1, HTTP/2, gRPC, WebSocket 等主流应用层协议。

  • 甚至支持原始 TCP 和 UDP 代理。


三、Envoy 的典型部署模式

Envoy 的部署非常灵活,重要有两种模式:

  1. Sidecar 模式(服务网格的核心)

    • 这是 Envoy 最著名的部署模式。在每个微服务应用的 Pod(如 Kubernetes Pod)中,都会部署一个 Envoy 容器。该 Envoy 代理只负责处理该特定 Pod 的进出流量。

    • 好处:将网络功能从业务代码中彻底解耦,实现了基础设施层和业务逻辑层的分离。

    • 代表项目Istio, Linkerd等服务网格都将 Envoy 作为其数据平面的默认代理。

  2. 边缘代理/网关模式

    • 将 Envoy 部署在集群的入口处,作为所有外部流量的唯一入口(API 网关)。

    • 好处:统一处理 TLS 终端、路由、认证、限流等入口效果。

    • 代表项目Emissary-ingress(原 Ambassador API Gateway)和Gloo Edge都是基于 Envoy 构建的 API 网关。


四、Envoy 与服务网格(Service Mesh)

Envoy 是大多数现代服务网格的事实标准素材平面

  • 数据平面:由一组 Envoy 代理组成(以 Sidecar 形式部署),负责实际转发流量、执行策略(如路由、加密)、收集遥测数据。

  • 控制平面:如 Istio,负责管理和安装所有信息平面中的 Envoy 代理。它通过 xDS API 向 Envoy 下发策略和路由规则。

简单比喻:控制平面是“交通指挥中心”,制定规则;数据平面(Envoy)是“每个路口的智能交通信号灯”,执行规则。


五、Envoy vs. 其他代理(如 Nginx, HAProxy)

特性EnvoyNginxHAProxy
设计初衷微服务、云原生、动态环境通用 Web 服务器、反向代理、负载均衡器高性能 TCP/HTTP 负载均衡器
动态配置核心优势,原生通过 xDS API 支持主要通过 Lua 脚本或商业版 Nginx Plus需要借助外部工具或特定模块
可观察性极其丰富,内置指标、追踪、日志良好,但高级特性需模块或商业版良好,专注于负载均衡指标
服务网格事实标准,是大多数服务网格的基础较少用于此场景较少用于此场景
性能相当高(C++)非常高(C)非常高(C)
学习曲线较陡峭,概念和配置复杂相对平缓,配置文件直观相对平缓
主要场景微服务内部通信(东西向)、API 网关Web 服务、入口负载均衡(南北向)、缓存高性能 TCP/HTTP 负载均衡(南北向)

结论:Nginx 和 HAProxy 在传统的南北向流量代理(如作为网站入口)方面非常成熟和优秀。而 Envoy 是为云原生时代复杂的东西向流量和服务网格场景而生的,其动态配置能力和可观察性是它的杀手锏。


总结

Envoy 已经从一个单纯的代理,演变为云原生网络基础设施的核心组件。它通过将复杂的网络逻辑(如弹性、安全、可观察性)下沉到基础设施层,极大地简化了微服务应用的制作复杂度。

  • 如果你正在构建或维护一个基于 Kubernetes 的微服务环境,并且面临服务通信混乱、故障排查困难、发布流程复杂等难题,那么引入基于 Envoy 的服务网格(如 Istio)或 API 网关将是一个十分重要的选择。

  • 对于简单的应用或传统的负载均衡需求,Nginx 或 HAProxy 可能仍然是更直接、更轻量的选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper常用操作 - 吾辈当奋斗

cd /home/zookeeper/bin# 登录客户端sh zkCli.sh# 查看有几个服务注册到此ls /services # 查看下面的实例,具体的IP+端口ls /services/lulu

基于旋转不变子空间(ESPRIT)算法的DOA估计

一、ESPRIT算法核心原理 1.1 旋转不变性基础 ESPRIT通过阵列的几何对称性构建旋转不变性,利用两个子阵列接收信号的相位差直接估计DOA。对于均匀线阵(ULA),相邻阵元间距为d,信号入射角θ的相位延迟为:两个子阵列…

zedboard + AD-FMCOMMS3-EBZ HDL VIVADO 工程构建(二) 构建HDL项目

zedboard + AD-FMCOMMS3-EBZ HDL VIVADO 工程构建(二) 构建HDL项目 Build an HDL project — HDL documentation构建工程,需要 Linux 环境, windows 11 下 使用 WSL2

2025年超微粉碎机优质实力厂家推荐,产品涵盖低温无尘粉碎机/液氮冷冻/万能/锤式粉碎机!

江阴市中凯机械制造有限公司通过十几年的发展,公司严格按照ISO9001质量体系标准实施规范管理,产品质量上乘,公司从2011年创立就开始针对各种中药材、高分子材料的低温粉碎领域的研发、制造及销售,已有十余年的生产…

2025 年高低温试验箱制造厂家最新推荐排行榜:精选优质品牌,助力企业精准选购可靠测试设备恒温恒湿试验箱/高低温试验箱厂家推荐

随着电子、半导体、汽车、航天等领域对产品可靠性要求不断提升,高低温试验箱作为关键测试设备,市场需求日益增长,但行业乱象也让企业选购难度加大。部分厂家缺乏核心技术,设备精度不足、稳定性差,无法满足高端测试…

MySQL数据库入门指南,5分钟掌握连接与基础操作命令

你是否经常在操作MySQL时卡在第一步?连数据库都进不去还谈什么后续操作?作为开发者必备技能,MySQL的基础命令就像学骑自行车要先学会扶车把一样重要。今天我们就用最直白的语言,拆解那些看似简单却容易出错的MySQL…

一堆todo - 吾辈当奋斗

框架springboot springSecurity devops+CICD k8s+docker 单点登录 SSO SOA-架构设计模式 Spring Cloud-微服务基础分布式事务 event+listener jdk8特性 jdk17特性 maven 多线程 分布式锁的各种实现-zookeeper+redis 设…

大规模图神经网络高效训练新方法

本文介绍了一种名为全局邻居采样的新型图神经网络训练方法,该方法通过缓存节点特征到GPU内存,显著减少了CPU与GPU间的数据传输,在混合CPU-GPU训练环境中实现了2到14倍的速度提升,同时保持或提高了模型准确性。大规…

10 10

P4169 cdq分治有时间戳,可以转换为四个方向的带时间戳的二维偏序 故可以用 cdq 分治解决, 然后发现我TLE了故需要使用归并排序来优化常数p4197 线段树合并很容易可以发现可以把询问离线下来,按照可走道路权值从小到…

cocos3节点监听不到TOUCH_START问题

我们知道,可以使用类似如下的代码监听2d node的点击事件: this.node.on(Node.EventType.TOUCH_START, this.emitEvent, this); 但是发现监听不生效,排查原因后发现: 原因是:不能像下图这有直接在mask节点上监听,…

Rudin 数学分析第二章

感觉拓扑非常难。 5 \(\{x+\frac{1}y\mid x\in\{1, 2, 3\},\ y\in\mathbb Z^+\}\),极限点为 \(\{1,2,3\}\)。 6 若有点 \(x\) 是 \(E\) 的

Gitee DevOps平台:中国企业数字化转型的加速器

Gitee DevOps平台:中国企业数字化转型的加速器 在数字化转型浪潮席卷全球的背景下,软件开发效率已成为企业核心竞争力的关键指标。作为国内领先的一站式DevOps平台,Gitee通过全流程研发支持与自动化交付能力,正在重…

aardio在其他窗体调用主窗体的函数

aardio在其他窗体调用主窗体的函数主窗体函数必须这样写mainForm.save = function() {try{console.log("save")var file = io.file("data.json","w")//data = {"test"="…

全社会是否真的需要一套AI元人文实践框架?

全社会是否真的需要一套AI元人文实践框架? 一、引言:AI发展的伦理困境与价值迷失 人工智能技术正以前所未有的速度重塑人类社会的各个领域。然而,随着技术的快速发展,一系列伦理问题与价值困境也日益凸显:数据隐私…

openssl 生成证书

openssl 生成证书#!/bin/bash # 生成SM2私钥 openssl ecparam -genkey -name SM2 -out sm2.key# 生成证书签名请求(CSR) openssl req -new -key sm2.key -out sm2.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Examp…

2025人工智能在无人机数据处理中的应用

2025年,无人机日均产生数据量已突破3PB(相当于300万小时高清视频),传统人工处理模式彻底失效。人工智能(AI)凭借实时分析、自主决策能力,成为解锁海量数据价值的核心钥匙。从军事侦察到农业监测,从灾后救援到城…

基于自适应观测器的无传感器感应电动机矢量控制仿真

基于自适应观测器的无传感器感应电动机矢量控制仿真,结合Lyapunov稳定性理论和模型参考自适应系统(MRAS)方法:一、架构 graph TD A[电机本体] --> B[Clark变换] B --> C[静止坐标系模型] C --> D[自适应观测…

高性能场景为什么推荐使用PostgreSQL,而非MySQL?

大家好,我是苏三,又跟大家见面了。 前言 今天想和大家聊聊一个经典的技术选型问题:在高性能场景下,为什么我更推荐使用PostgreSQL而不是MySQL? 有些小伙伴在工作中可能会疑惑:MySQL这么流行,性能也不错,为什么…

【EI期刊、EI-JA检索】第五届新能源与电力工程国际学术会议(ICNEPE 2025)

第五届新能源与电力工程国际学术会议(ICNEPE 2025) 2025 5th International Conference on New Energy and Power Engineering 在这里看会议官网详情 2025年11月14-16日 中国-广州 组织机构 主办单位:华南理工大学…

告别普通游客照:在线P图让你的社交媒体脱颖而出

在视觉主导的数字时代,能否快速处理一张吸引眼球的图片,已成为个人与品牌线上表达的关键。但掌握专业修图软件门槛高、耗时久,常让人望而却步。事实上,您无需为此焦虑:借助如今功能强大的在线修图工具,即使毫无设…