Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Envoy:关于outbound流量的处理逻辑

Envoy:关于outbound流量的处理逻辑

作者头像
灰子学技术
发布于 2023-10-30 08:06:04
发布于 2023-10-30 08:06:04
2820
举报
文章被收录于专栏:灰子学技术灰子学技术

本篇文章,笔者试图讲清楚流量在经过Envoy之后,outbound的流量处理过程是什么样子的。

envoy是istio的数据面,istio与envoy之间通过xds协议进行通讯,而istio则通过CR的方式来进行了进一步的封装,目的是为了将xds简单化,希望用户看到的配置更加的简洁,例如:Virtual Service、Destination Rule、等等。

XDS是通过LDS、RDS、CDR、SDS等粒度组合到一起,而istio则是将VS和DR等映射成这些XDS协议。envoy里面的代码就是根据xds这些粒度进行抽象,进而来完成路由转发等等功能的实现。

envoy通过静态配置或者XDS动态配置进行加载起来,然后在流量过来的时候,通过Ip+port的方式去找到当前归属的是哪一个LDS。 LDS里面配置了的net filters是http connection manager,会直接进入到hcm里面去遍历它里面配置的http filters,逐次去执行filter里面的逻辑,而这里的http filters对应的就是rds filters配置信息。(备注:http filters里包含的主要有fault\mirror\router) rds filters里面是由两部分构成的,分别是 match的匹配条件和route这边会指定对应的cds是哪一个,而负载均衡、限流、熔断都是归属在cds这个层面的。

参考文档:

https://istio.io/latest/docs/tasks/traffic-management/mirroring/

https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灰子学技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mesh3# Envoy代理转发与xDS映射关系
Envoy作为Istio默认数据面代理,它的工作流程是怎么样的?本文通过示例运行,走查其运行流程,以及xDS协议映射。
瓜农老梁
2021/10/27
8470
大规模服务网格性能优化 | Aeraki xDS 按需加载
钟华,腾讯云专家工程师,Istio project member、contributor,专注于容器和服务网格,在容器化和服务网格生产落地方面具有丰富经验,目前负责 Tencent Cloud Mesh 研发工作。 Istio 在大规模场景下 xDS 性能瓶颈 xDS 是 istio 控制面和数据面 envoy 之间的通信协议,x 表示包含多种协议的集合,比如:LDS 表示监听器,CDS 表示服务和版本,EDS 表示服务和版本有哪些实例,以及每个服务实例的特征,RDS 表示路由。可以简单的把 xDS 理解
腾讯云原生
2021/12/22
1.6K0
Envoy流量劫持后outbound部分处理逻辑
本篇文章主要来讲解下流量劫持到envoy之后,envoy层面是如何处理,并成功找到它的下一跳服务的,当然也是我们平时说的upstream。
灰子学技术
2021/10/13
8780
Envoy流量劫持后outbound部分处理逻辑
istio服务网格进阶最佳实践
本文从 Service Mesh 开发者的角度,阐述 istio 进阶的个人最佳实践,希望帮助正在入门 istio 的同学节省一点时间,少走一点弯路。
QQ音乐技术团队
2023/10/31
6420
istio服务网格进阶最佳实践
云原生时代的流量入口:Envoy Gateway
流量入口代理作为互联网系统的门户组件,具备众多选型:从老牌代理 HAProxy、Nginx,到微服务 API 网关 Kong、Zuul,再到容器化 Ingress 规范与实现,不同选型间功能、性能、可扩展性、适用场景参差不齐。当云原生时代大浪袭来,Envoy 这一 CNCF 毕业数据面组件为更多人所知。那么,优秀“毕业生”Envoy 能否成为云原生时代下流量入口标准组件?
深度学习与Python
2020/08/07
2.2K0
云原生时代的流量入口:Envoy Gateway
服务网格代理Envoy入门
Envoy入门并不简单,可以说有些陡峭,本文尽可能帮助降低入门门槛。本文内容主要基于Envoy-1.12.2版本,官方链接:
一见
2020/01/15
3.5K1
服务网格代理Envoy入门
Envoy 基于文件和 API 的动态配置方式
前面我们和大家学习了 Envoy 的基础知识,使用静态配置来认识了 Envoy,但实际上 Envoy 的闪光点在于其动态配置,动态配置主要有基于文件和 API 两种方式。
我是阳明
2023/10/29
1K0
Envoy 基于文件和 API 的动态配置方式
Envoy 基于文件的动态配置
Envoy 除了支持静态配置之外,还支持动态配置,而且动态配置也是 Envoy 重点关注的功能,本节我们将学习如何将 Envoy 静态配置转换为动态配置,从而允许 Envoy 自动更新。
我是阳明
2020/06/22
3.4K0
深度解读服务治理 & ServiceMesh、xDS
在服务很少的情况下,直观的讲:A---> B, A如何知道B服务的实例?A是不是要使用某种负载均衡策略去请求B?
有态度的马甲
2021/06/08
1.8K0
深度解读服务治理 & ServiceMesh、xDS
使用 Envoy 作为前端代理
service1 和 service2 都使用相同的代码启动 Flask 服务,通过 SERVICE_NAME 这个环境变量在访问的时候可以区分服务是 service1 还是 service2 。
Se7en258
2021/05/18
1.7K0
使用 Envoy 作为前端代理
云原生二十篇|浅析ServiceMesh和Istio
当前系列《云原生二十篇》文章停更了两个月,忙完手头一些事情以后继续更新,本文主要介绍ServiceMesh,从这几个方面:
用户1904552
2025/02/27
840
云原生二十篇|浅析ServiceMesh和Istio
Envoy控制面实践
Envoy 是一款由 Lyft 开源的,使用 C++ 编写的 L7 代理和通信总线,目前是 CNCF 旗下的开源项目且已经毕业,代码托管在 GitHub 上,它也是 Istio 服务网格中默认的数据平面。关于 Envoy 的详情请阅读 Envoy 中文文档。Envoy 本身无法构成一个完整的 Service Mesh,但是它可以作为 service mesh 中的应用间流量的代理,负责 service mesh 中的数据层。
tunsuy
2023/08/19
3670
Envoy控制面实践
史上最全的高性能代理服务器 Envoy 中文实战教程 !(强烈建议收藏)
Envoy 是一款 CNCF 旗下的开源项目,由 Lyft 开源。Envoy 采用 C++ 实现,是面向 Service Mesh 的高性能网络代理服务。它与应用程序并行运行,通过以平台无关的方式提供通用功能来抽象网络。当基础架构中的所有服务流量都通过 Envoy 网格时,通过一致的可观测性,很容易地查看问题区域,调整整体性能。
iMike
2019/12/17
27.8K0
史上最全的高性能代理服务器 Envoy 中文实战教程 !(强烈建议收藏)
新手学分布式 - Envoy Proxy XDS Server动态配置的一点使用心得
Envoy Proxy和其它L4/L7反向搭理工具最大的区别就是原生支持动态配置。 首先来看一下Envoy的大致架构
随机来个数
2019/12/10
2.3K0
服务网格|xDS
https://www.envoyproxy.io/docs/envoy/latest/intro/what_is_envoy
heidsoft
2020/09/23
8350
服务网格|xDS
Istio Ambient 模式流量管理实现机制详解(一)
Istio ambient 模式采用了被称为 HBONE 的方式来连接 ztunnel 和 waypoint proxy。HBONE 是 HTTP-Based Overlay Network Environment 的缩写。虽然该名称是第一次看到,其实 HBONE 并不是 Istio 创建出来的一个新协议,而只是利用了 HTTP 协议标准提供的隧道能力。简单地说,ambient 模式采用了 HTTP 的 CONNECT 方法 在 ztunnel 和 waypoint proxy 创建了一个隧道,通过该隧道来传输数据。本文将分析 HBONE 的实现机制和原理。
赵化冰
2022/10/04
7190
Istio Ambient 模式流量管理实现机制详解(一)
Envoy Proxy 101
Curiefense[1]集成了Envoy Proxy[2],这是一个著名的开源代理和云原生应用服务代理。Envoy 最初由Lyft[3]开发,现在是云原生计算基金会(Cloud Native Computing Foundation)的一部分,旨在创建一个透明的网络,使故障排除更容易。
CNCF
2022/03/25
1.3K0
Envoy Proxy 101
Service Mesh之Envoy
Envoy是一款由 Lyft 开源的高性能数据和服务代理软件,使用现代 C++ 语言(C++11 以及 C++14)开发,提供四层和七层网络代理能力。
灰子学技术
2021/07/09
1K0
以服务网格实现微服务的高级Traffic-shadowing模式
作者:Christian Posta 译者:月满西楼 原题:Advanced Traffic-shadowing Patterns for Microservices With Istio Service Mesh 全文5000字,阅读约需要12分钟 这两年, 微服务架构火了,它在实现某些功能上速度更快,为我们节省了不少宝贵时间[1]。然而,我们不能只是简单地追求速度,破旧立新[2]。还要设法降低变革带来的风险,更安全地将微服务引入生产。一个强有力的模式就可以做到,它能将有关生产的shadow traf
yuanyi928
2018/03/30
1.3K0
以服务网格实现微服务的高级Traffic-shadowing模式
Istio系列二:Envoy组件分析
Envoy是Istio数据平面核心组件,在Istio架构中起着非常重要的作用,本文首先介绍Envoy的基本概念及工作流程,再从Istio的设计角度出发,对Envoy在Istio中如何部署及如何对入站出站流量进行代理转发及流量劫持进行具体分析,最后通过实验加以验证。
绿盟科技研究通讯
2019/12/11
4.1K0
Istio系列二:Envoy组件分析
相关推荐
Mesh3# Envoy代理转发与xDS映射关系
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档