Envoy原理介绍及线上问题踩坑# Envoy原理介绍及线上问题踩坑 介绍人:张伟 ## 个人介绍  ## 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验,作为架构师及核心开发人员发布过传输网管系统、Tuxedo交易中间件、ts-ser 巴巴等公司;目前在华为云云原生团队负责网格数据面的架构设计及开发工作。 ## 目录 1. Envoy启动及配置文件 2. Envoy流量拦截原理、常用部署方式 3. Envoy可扩展过滤器架构、可观测性 4. Envoy线程模型 5. 生产环境问题分析及解决方法 6. 针对Envoy做的一些优化及效果 7. 常用性能分析测试工具及使用方法 8. 华为ASM产品介绍 ## 96f433fb7/p4_2.jpg) ## Envoy介绍 - Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、完整的可观测性等。 - 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥遥领先。 -0 码力 | 30 页 | 2.67 MB | 2 年前3
15 Envoy Istio WebAssembly 扩展实现原理 边鹏远## Envoy/Istio WebAssembly 扩展实现原理 ... 边鹏远 (github: bianpengyuan) ## 目录 Wasm 和 V8 engine 简介 Wasm 扩展对于Envoy的意义 Wasm 扩展在 Envoy 的实现原理 Wasm 扩展在 Istio 的应用 未来工作 ## WebAssembly “WebAssembly (abbreviated 8d52d3888c9335d6d0/p10_1.jpg) ## Wasm 对于 Envoy 的意义 Envoy具有很强的可扩展性,可扩展地方包括 ☐ L4 / L7 filters ☐ 访问日志,链路追踪,监控数据 大部分 Envoy 自带扩展都是基于开源的标准,订制的扩展需要 C++,编译Envoy ☐ Lua ## Wasm 扩展的优势 ☐ 动态加载 ☐ 可以用多种语言开发 "vm_config": { "vm_id": "test-vm", "runtime": "envoy.wasm.runtime.v8", "code": { "local": {0 码力 | - 页 | 916.89 KB | 1 年前3
f5a Istio Adoption Cash AppELB Square mTLS us-west-2 Square Envoy Amazon EKS Node Service B Ingress Envoy (istio proxy) Istio mTLS Node Service B B Envoy (istio proxy) Square Envoy  us-west-2 Service B Square Envoy Cash App EKS -> Square DC Amazon EKS jpg) Service B B Square Envoy Square mTLS Square Envoy us-west-2 回 Amazon EKS DC Service D Classic ELB Node D Service B Square mTLS Square Envoy B Square Envoy us-west-2  - Lua - 7_2.jpg) ## I stio • WasmPlugin API • xDS 扩展(比如dubbo RDS) • xDS 之ECDS (type.googleapis.com/envoy.config.core.v3.TypedExtensionConfig)  在 Service Mesh 领域,Envoy 和 MOSN 作为其数据面 sidecar 之一,用于解决传统服务治理体系下的痛点如:多语言,中间件组件开发适配成本高、SDK 升级困难、技术复用度差、治理体系不统一等。 MoE = MOSN + Envoy 相互融合,各取所长 ## MoE 背景介绍 — 为什么做 ## 用户痛点 - east-west、north-south Gateway 技术栈不统一,维护成本高  Envoy C++ 编写,对于业务方来说开发门槛高 维护成本高、可扩展性弱 ## MoE ## 技术趋势 • Lua extension 🔊🔊🔊 WASM extension  #### Sidecar envoy proxy readiness probe failing - Istio 1.6.7 #26792 Siddharthk opened this issue on 25 Aug 2020 - [Image](/uploads/documents/f/b/2/b/fb2b5e8ae1b962827b06af6ccc095611/p12_5.jpg) Bug description Sidecar envoy proxy is failing readiness probe intermittently in list 16.7. Is there a way we can increase readiness ] Test and Release [ ] User Experience [ ] Developer-infrastructure Expected behavior Sidecar envoy proxy should not be failing. Steps to reproduce the bug: Running an app with list of side car injected:0 码力 | 14 页 | 1.68 MB | 1 年前3
Service Mesh结合容器云平台的思考和实践Discovery Networking Stack Networking Stack ## 云平台微服务演进之Service Mesh ## Pilot - 服务发现 - Envoy生命周期管理 - Envoy配置下发 - 服务模型 • 配置模型 ## 数据平面 - 负载均衡 - 智能路由(灰度、蓝绿) - 流量管理(超时、重试、熔断) - 故障处理 [Image](/uploads/documents/8/e/0/a/8e0adf54db47f8a4eeb15320a40ce952/p11_2.jpg) ## I stio的核心组件 ## • Envoy 是一个高性能轻量级代理,它掌控了service的入口流量和出口流量,它提供了很多内置功能,如动态负载服务发现、负载均衡、TLS终止、HTTP/2 & gRPC流量代理、熔断、健康检查等功能。 展组件,内部提供了多个模块化的适配器(adapter)。 ## • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部署)、流量管理(超时、重试、熔断)功能。Pliot接收用户指定的高级路由规则配置,转换成Envoy的配置,使这些规则生效。 ## • Istio-Auth 服务间认证和终端用户认证功能 ## I stio的Pilot功能解析0 码力 | 28 页 | 3.09 MB | 1 年前3
Best practice: from spring cloud to Istiomanagement. Data plane: Service discovery, load balancing, and management are performed on the Envoy of the Istio data plane. The application can be code in c, cpp, python normal java ,or springcloud0 码力 | 32 页 | 1.44 MB | 1 月前3
大规模微服务架构下的Service Mesh探索之路• 可扩展性有限,dtab不易理解和使用 - 功能不能满足蚂蚁的需求,没法做到类似envoy xds那样的扩展性 · 未来发展前景黯淡  ## Envoy • 安心做数据平面,提供XDS API · 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 ·蚂蚁有大量的扩展和定制化需求 • 我们非常认可 envoy 在数据平面上的表现 ## 开源方案选择之第二代Service Mesh  ## I stio · 第一选择,重点关注对象 · 奈何迟迟不能发布生产可用版本 Mesh · 数据平面选择Envoy:成熟产品,符合腾讯语言体系,内部广泛使用 • 控制平面据传 “挣扎了一下”,最终还是选择Istio,进行定制和扩展,解耦k8s ## 国内公司的选择之三:另辟蹊径 ## UCLOUD ## UCloud : Service Mesh · 非常有意思的轻量ServiceMesh实践 • 从Istio中剥离Pilot和Envoy • 去掉Mixer和Auth0 码力 | 37 页 | 7.99 MB | 1 年前3
共 138 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













