Envoy Basic(基础)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Envoy 是一个强大的开源边缘和服务代理,被广泛用于构建服务网格。它的设计目的是提供高性能、高可用性以及可扩展的网络通信能力。Envoy 的核心理念是将数据平面与控制平面分离,使得服务间的交互更加透明和易于管理。 **What is Envoy?** Envoy 是由 Lyft 创建的,现在由 Cloud Native Computing Foundation (CNCF) 维护。它作为一个“sidecar”代理运行在每个服务实例旁边,处理所有进出服务的网络通信。Envoy 提供了负载均衡、熔断、健康检查、路由规则、故障恢复等关键功能,帮助构建微服务架构的可靠性和效率。 **As a service-instance proxy** 作为服务实例代理,Envoy 负责拦截并管理服务实例之间的所有网络通信。它通过监听服务实例的网络接口,并转发请求到正确的目的地,实现服务间的解耦。 **Envoy data path** Envoy 的数据路径包括接收来自客户端的请求,执行路由决策,转发请求到正确的后端服务,并返回响应。这一过程涉及到多个组件,如 listener(监听器)、cluster manager(集群管理器)和 HTTP/2 连接池等。 **Envoy implements** Envoy 实现了多种协议,包括 HTTP/1.1、HTTP/2 和 gRPC,支持 TLS 加密和 WebSocket 协议。此外,它还提供了丰富的过滤器框架,允许扩展和自定义处理网络流量的行为。 **Envoy's prominent features** 1. **Service discovery**: Envoy 支持多种服务发现机制,如 DNS、Consul、Kubernetes 服务发现等。 2. **Load balancing**: 内置负载均衡策略,包括轮询、随机、最少连接等。 3. **Circuit breaking**: 自动熔断机制,防止服务过载。 4. **Health checking**: 主动对后端服务进行健康检查,确保只将流量转发给健康的实例。 5. **TLS termination**: 在 Envoy 层完成 TLS 握手,减轻应用服务器负担。 6. **Observability**: 提供详细的指标和日志,便于监控和诊断问题。 **Envoy Terminology** - **xDS API**: xDS (eXtensible Discovery Service) 是 Envoy 的配置接口,支持动态服务发现、路由和元数据更新。 - **Listener**: 监听特定端口并接收网络连接的组件。 - **Cluster**: 表示一组提供相同服务的后端实例集合。 - **Route**: 定义如何根据请求头、URL 等信息将请求路由到对应的 Cluster。 **Envoy Deployment types** Envoy 可以部署为边缘代理、服务间代理或者两者兼有。在 Kubernetes 环境中,通常以 sidecar 形式部署,每个 Pod 包含一个 Envoy 实例,负责 Pod 内服务的通信。 **Envoy Thread Model** Envoy 使用多线程模型来处理并发连接。主要分为两类线程:worker 线程和 main thread。worker 线程负责处理网络事件和数据包,而 main thread 负责配置管理和控制平面通信。这种模型确保了高效且安全的并发处理。 总结,Envoy 作为服务网格的核心组件,通过其强大的功能和灵活性,能够有效地解决现代分布式系统中的网络挑战。了解 Envoy 的基本概念和工作原理对于构建和运维高效、可靠的微服务架构至关重要。
- 粉丝: 36
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助