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是最终一致性的
相关推荐
心疼你的一切10 分钟前
使用Unity引擎开发Rokid主机应用的全面配置交互操作
学习·游戏·unity·c#·游戏引擎·交互
小猪佩奇TONY21 分钟前
C++ 学习(3) ----设计模式
c++·学习·设计模式
Brookty33 分钟前
【算法】二分查找(一)朴素二分
java·学习·算法·leetcode·二分查找
alenliu062142 分钟前
在 Ubuntu22.04 进行envoy沙盒实验
docker·envoy·ubuntu22.04
bawangtianzun2 小时前
重链剖分 学习记录
数据结构·c++·学习·算法
Vizio<2 小时前
ERT中正问题和逆问题的传统数学推导
学习·数学建模·机器人·触觉传感器
丰锋ff2 小时前
2007 年真题配套词汇单词笔记(考研真相)
笔记·学习·考研
musenh3 小时前
mysql学习---事务
学习·mysql
musenh3 小时前
mysql学习--DCL
学习·mysql·adb
就叫飞六吧9 小时前
基于汇编实现led点灯-51单片机-stc89c52rc
嵌入式硬件·学习