创建者
使用者
为什么选择 Envoy?
正如一线微服务实践者很快意识到,迁移到分布式架构后出现的绝大多数操作问题最终都源于两个方面:网络和可观测性。与单一整体式应用程序相比,网络和调试一组相互关联的分布式服务要困难得多。
Envoy 最初由 **Lyft** 构建,是一个高性能的 C++ 分布式代理,专为单个服务和应用程序设计,也是一个为大型微服务“服务网格”架构设计的通信总线和“通用数据平面”。Envoy 基于 NGINX、HAProxy、硬件负载均衡器和云负载均衡器等解决方案的经验教训,运行在每个应用程序旁边,并通过在平台无关的方式提供通用功能来抽象网络。当基础设施中的所有服务流量都通过 Envoy 网格流动时,通过一致的可观测性很容易可视化问题区域,调整整体性能,并在单一位置添加底层功能。
特性
进程外架构
Envoy 是一个自包含的、高性能的服务器,具有较小的内存占用空间。它可以与任何应用程序语言或框架一起运行。
HTTP/2 和 gRPC 支持
Envoy 对传入和传出连接的 HTTP/2 和 gRPC 提供一流的支持。它是一个透明的 HTTP/1.1 到 HTTP/2 代理。
高级负载均衡
Envoy 支持高级负载均衡功能,包括自动重试、断路器、全局速率限制、请求影子、区域本地负载均衡等。
配置管理 API
Envoy 提供强大的 API 来动态管理其配置。
可观测性
对 L7 流量进行深入的观察、对分布式跟踪的原生支持,以及对 MongoDB、DynamoDB 等的线级可观测性。
"自从开始部署 Envoy 以来,我们在 Lyft 的弹性和可观测性方面取得了巨大进步。我们很高兴开源 Envoy,围绕 Envoy 形成的社区将帮助 Lyft 和其他采用微服务架构的人。"
Peter Morelli Lyft 工程副总裁
我们是 云原生计算基金会 的毕业项目。