Envoy XDS协议学习

Envoy xds学习

资料地址

  1. envoy官网资料连接

接口说明

  1. xds分为增量接口和全量接口
  2. SotW:state of the world 即全量的数据
  3. Incremental: 增量的数据

具体接口

  • Listener: Listener Discovery Service (LDS)
    SotW: ListenerDiscoveryService.StreamListeners
    Incremental: ListenerDiscoveryService.DeltaListeners
  • RouteConfiguration: Route Discovery Service (RDS)
    SotW: RouteDiscoveryService.StreamRoutes
    Incremental: RouteDiscoveryService.DeltaRoutes
  • ScopedRouteConfiguration: Scoped Route Discovery Service (SRDS)
    SotW: ScopedRouteDiscoveryService.StreamScopedRoutes
    Incremental: ScopedRouteDiscoveryService.DeltaScopedRoutes
  • VirtualHost: Virtual Host Discovery Service (VHDS)
    SotW: N/A
    Incremental: VirtualHostDiscoveryService.DeltaVirtualHosts
  • Cluster: Cluster Discovery Service (CDS)
    SotW: ClusterDiscoveryService.StreamClusters
    Incremental: ClusterDiscoveryService.DeltaClusters
  • ClusterLoadAssignment: Endpoint Discovery Service (EDS)
    SotW: EndpointDiscoveryService.StreamEndpoints
    Incremental: EndpointDiscoveryService.DeltaEndpoints
    Secret: Secret Discovery Service (SDS)
    SotW: SecretDiscoveryService.StreamSecrets
    Incremental: SecretDiscoveryService.DeltaSecrets
  • Runtime: Runtime Discovery Service (RTDS)
    SotW: RuntimeDiscoveryService.StreamRuntime
    Incremental: RuntimeDiscoveryService.DeltaRuntime
  • ADS: 聚集接口,所有资源都使用一个接口
    SotW: AggregatedDiscoveryService.StreamAggregatedResources
    Incremental: AggregatedDiscoveryService.DeltaAggregatedResources

接口配置说明

  1. ApiConfigSource
  2. ConfigSource

ACK和NACK

  1. ACK
  2. NACK

接口发送

  1. SotW场景
    • 客户端发送resource_names为空,则服务端理解为订阅*
    • 客户端发送resource_names为和A,则服务端理解为继续订阅并新加一个A
    • 客户端发送resource_names为A,则服务端理解为取消订阅*,并继续订阅A
    • 客户端发送resource_names为空,则取消订阅A
  2. 增量场景
    • 客户端发送resource_names_subscribe为空,则服务端理解为订阅*
    • 客户端发送resource_names_subscribe为A,则继续订阅*和新加A
    • 客户端发送resource_names_unsubscribe为*,则取消订阅*,继续订阅A
    • 客户端发送resource_names_unsubscribe为A,则取消订阅A

网关路由一致性

  1. envoy是最终一致性的
相关推荐
盐水冰24 分钟前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵25 分钟前
视频压缩编码学习(一)—— 基础知识大集合
学习
似水明俊德1 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
adore.9682 小时前
3.18 复试学习
学习
留白_2 小时前
MySQL学习(9)——索引
学习
请你喝好果汁6413 小时前
生信学习笔记:ArchR 处理小麦单细胞 ATAC-seq 中的细胞数差异与 Embedding 报错调试
学习
jinanwuhuaguo3 小时前
OpenClaw、飞书、Claude Code、Codex:四维AI生态体系的深度解构与颗粒化对比分析
大数据·人工智能·学习·飞书·openclaw
萨文 摩尔杰4 小时前
GPS原理学习
学习·fpga开发
fengci.4 小时前
ctfshow(web入门)295-300
java·开发语言·学习
renhongxia16 小时前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱