1. Envoy 的监听器、路由集群与端点发现(EDS/CDS/RDS/LDS)如何协同工作?
Envoy 的监听器(Listener)、路由、集群与端点发现(LDS/RDS/CDS/EDS)是如何协同工作的?
- Listener、Route、Cluster、Endpoint 四层抽象
- xDS 各子协议的作用
- 转发链路协同
Envoy 的转发链路由四层抽象构成:Listener(监听器)定义监听的端口与过滤链,Route(路由)定义请求如何匹配与分发,Cluster(集群)定义上游服务组及其负载均衡策略,Endpoint(端点)是集群中的具体实例。协同通过 xDS 完成:LDS 下发监听器,RDS 下发路由,CDS 下发集群,EDS 下发端点。工作流程:请求到达 Listener,经过滤链匹配 HTTP 路由(RDS),路由指向 Cluster(CDS),Cluster 通过负载均衡选择 Endpoint(EDS),把请求转发到具体实例。四层通过 xDS 动态更新,任意一层变化都会实时下发,实现配置与流量的动态协同。
理解四层抽象是理解 Envoy 的钥匙:Listener 是"入口",Route 是"判断",Cluster 是"目标组",Endpoint 是"具体实例"。xDS 让这四层都能动态更新,驱动了服务网格的声明式配置。排障时也用这四个维度(listener/route/cluster/endpoint)定位。