Envoy Gateway 中的流量管理概览
Envoy Gateway (EG) 通过自定义资源定义 (CRD) 扩展了 Kubernetes Gateway API,提供灵活而强大的流量管理功能。这些特性提升了服务的可用性和性能,同时为服务间流量提供了精细的控制。
路由与流量分发
- HTTP/GRPC 路由:使用
HTTPRoute
和GRPCRoute
根据路径、方法、头信息或 gRPC 方法进行路由。 - 请求镜像:通过
HTTPRequestMirrorFilter
镜像请求到不同的后端服务,而不影响原始流量。 - 多协议支持:通过
TCPRoute
和UDPRoute
根据端口号路由 TCP 和 UDP 流量。 - 多集群路由:结合
ServiceImport
和HTTPRoute
实现跨集群服务的路由。
流量控制与优化
- 重试与熔断器:通过
BackendTrafficPolicy
配置重试和熔断器策略,提升可靠性并防止过载。 - 全局速率限制:在多个 Envoy 实例间共享请求限额,保护资源。
- 连接和超时管理:使用
ClientTrafficPolicy
和HTTPRoute
控制并发连接和设置请求超时。 - 故障注入:通过
BackendTrafficPolicy
注入延迟和错误,进行鲁棒性测试。
流量修改
- HTTP 重定向与 URL 重写:使用
HTTPRoute
进行流量重定向(如 HTTP 到 HTTPS)或重写 URL。 - 头信息管理:通过
RequestHeaderModifier
和ResponseHeaderModifier
修改请求和响应头。 - HTTP/3 支持:启用 HTTP/3 提升连接速度,减少延迟。
负载均衡
Envoy Gateway 支持多种负载均衡策略:
- 轮询:顺序分发请求。
- 随机:随机选择上游主机。
- 最少请求:选择负载最轻的主机。
- 一致性哈希:基于哈希算法路由请求。
这些策略通过 BackendTrafficPolicy
配置,适用于 Gateway
、HTTPRoute
或 GRPCRoute
。
客户端流量策略
ClientTrafficPolicy
用于管理 Envoy Proxy 与下游客户端之间的连接行为,包括 TCP 保活、代理协议和超时管理。
通过这些功能,Envoy Gateway 提供了强大且精细的流量控制能力,满足现代服务的需求。
章节目录
介绍 Envoy Gateway 中的路由与流量分发功能。
介绍 Envoy Gateway 中的流量控制与优化特性。
介绍 Envoy Gateway 的流量修正与增强特性。
介绍 Envoy Gateway 的负载均衡特性。
介绍 Envoy Gateway 的网关配置。
介绍 Envoy Gateway 中使用 `ClientTrafficPolicy` 客户端流量策略资源管理客户端流量。