envoy


envoy Envoy 是一个高性能、可扩展的 L7 代理和通信总线,最初由 Lyft 公司开发并开源。它是一个基于 C++ 编写的轻量级网络代理,专为云原生应用设计,具有以下特点:

高性能:Envoy 的网络模型采用了事件驱动架构,支持多路复用和异步 I/O 操作,具有卓越的性能和低延迟。

可扩展性:Envoy 使用了插件式架构,开发人员可以通过编写自定义的插件来扩展其功能,例如添加新的协议支持或实现自定义的负载均衡算法等。

灵活性:Envoy 支持在不同的环境中部署和使用,包括本地、虚拟机和容器等。它还支持多种配置语言(如 JSON 和 YAML),可以方便地进行配置和管理。

可观测性:Envoy 提供了丰富的统计信息和日志记录功能,能够帮助开发人员进行故障排除和性能优化等工作。

安全性:Envoy 支持多种安全特性,如 TLS 终止、请求身份验证和访问控制等,保护应用程序免受网络攻击和数据泄露等威胁。

Envoy 可以用于多种不同的场景,如服务发现、负载均衡、流量管理和安全控制等。在 Kubernetes 集群中,Envoy 可以作为边缘代理(例如 Istio、Linkerd 等)的一部分,实现对微服务应用程序的流量控制和监控,支持诸如故障注入、限流和追踪等功能。

除了作为边缘代理外,Envoy 还可以用作服务间代理,帮助微服务之间进行通信和协同工作。这时,它可以实现服务发现、负载均衡、路由等功能,并支持各种协议(如 HTTP、gRPC、TCP 等)。

总的来说,Envoy 是一个强大且灵活的代理和通信总线,适用于各种云原生应用程序场景,提供了高性能、可扩展和安全的解决方案。

官网

源码

文档