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是最终一致性的
相关推荐
陈天伟教授32 分钟前
基于学习的人工智能(4)机器学习基本框架
人工智能·学习·机器学习
7***37451 小时前
DeepSeek在文本分类中的多标签学习
学习·分类·数据挖掘
jiushun_suanli1 小时前
量子纠缠:颠覆认知的宇宙密码
经验分享·学习·量子计算
charlie1145141912 小时前
勇闯前后端Week2:后端基础——Flask API速览
笔记·后端·python·学习·flask·教程
深蓝海拓2 小时前
OpenCV学习笔记之:调整ORB算法的参数以适应不同的图像
笔记·opencv·学习
d111111111d2 小时前
STM32外设--SPI读取W25Q64(学习笔记)硬件SPI
笔记·stm32·单片机·嵌入式硬件·学习
q***56382 小时前
Springboot3学习(5、Druid使用及配置)
android·学习
TracyCoder1232 小时前
微服务概念理解学习笔记
学习·微服务·架构
零匠学堂20252 小时前
如何通过培训考试系统提升网络学习平台的效果?
学习
f***24112 小时前
java学习进阶之路,如果从一个菜鸟进阶成大神
java·开发语言·学习