当前位置:   article > 正文

istio学习笔记3:envoy代理

istio学习笔记3:envoy代理

Envoy介绍

Envoy 是一个为云原生应用设计的开源边缘与服务代理,是云原生计算基金会(CNCF)第三个毕业的项目,GitHub 目前有 13k+ Star。

作为为云原生应用设计的代理,它可以在服务旁运行,以平台无关的方式提供必要的特性,所有到服务的流量都通过 Envoy 代理,这里 Envoy 扮演的就是 Sidecar 的角色。
在这里插入图片描述

特点:

  • 基于现代 C++ 开发的 L4/L7 高性能代理。
  • 透明代理。
  • 流量管理。支持路由、流量复制、分流等功能。
  • 治理特性。支持健康检查、熔断、限流、超时、重试、故障注入。
  • 多协议支持。支持 HTTP/1.1,HTTP/2,GRPC,WebSocket 等协议代理与治理。
  • 负载均衡。加权轮询、加权最少请求、Ring hash、Maglev、随机等算法支持。支持区域感知路由、故障转移等特性。
  • 动态配置 API。提供健壮的管控代理行为的接口,实现 Envoy 动态配置热更新。
  • 可观察性设计。提供七层流量高可观察性,原生支持分布式追踪。
  • 支持热重启。可实现 Envoy 的无缝升级。
  • 自定义插件能力。Lua 与多语言扩展沙箱 WebAssembly。

总体来说,Envoy 是一个功能与性能都非常优秀的“双优生”。在实际业务流量入口代理场景下,Envoy 具备先天优势,可以作为云原生技术趋势流量入口的标准技术方案:

  1. 较 HAProxy、Nginx 更丰富的功能

相较于 HAProxy、Nginx 提供流量代理所需的基本功能(更多高级功能通常需要通过扩展插件方式实现),Envoy 本身基于 C++ 已经实现了相当多代理所需高级功能,如高级负载均衡、熔断、限流、故障注入、流量复制、可观测性等。更为丰富的功能不仅让 Envoy 天生就可以用于多种场景,原生 C++ 的实现相较经过扩展的实现方式性能优势更为明显。

  1. 与 Nginx 相当,远高于传统 API 网关的性能

在性能方面,Envoy 与 Nginx 在常用协议代理(如 HTTP)上性能相当。与传统 API 网关相比,性能优势明显。如下为 Envoy 与几种业务常用的 API 网关选型在 8 核物理机容器运行环境下,简单路由代理性能对比数据:(网易内部环境实测数据,仅供参考)

参考文献

  • Envoy 官方文档: https://www.envoyproxy.io/docsIstio
  • Istio:https://istio.io/docsEnvoy
  • https://www.jianshu.com/p/90f9ee98ce70WebAssembly
  • https://www.wasm.com.cnService Mesh
  • https://msd.misuland.com/pd/3545776840385758572_
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/181674
推荐阅读
相关标签
  

闽ICP备14008679号