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是最终一致性的
相关推荐
嵌入式-老费2 小时前
自己动手写深度学习框架(快速学习python和关联库)
开发语言·python·学习
执笔论英雄3 小时前
【大模型训练】zero 学习及deepseed实战
人工智能·深度学习·学习
前路不黑暗@4 小时前
Java:继承与多态
java·开发语言·windows·经验分享·笔记·学习·学习方法
2501_916007475 小时前
从零开始学习iOS App开发:Xcode、Swift和发布到App Store完整教程
android·学习·ios·小程序·uni-app·iphone·xcode
_dindong6 小时前
牛客101:递归/回溯
数据结构·c++·笔记·学习·算法·leetcode·深度优先
笨鸟笃行6 小时前
百日挑战——单词篇(第十二天)
学习
lingggggaaaa7 小时前
小迪安全v2023学习笔记(一百四十三讲)—— Win系统权限提升篇&AD内网域控&NetLogon&ADCS&PAC&KDC&CVE漏洞
windows·笔记·学习·安全·内网安全·权限提升
71-37 小时前
牛客上的练习题——打印X形图案(有说明scanf返回值)
c语言·笔记·学习
NON-JUDGMENTAL8 小时前
DiverseVul
笔记·学习
落羽的落羽8 小时前
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通
linux·服务器·c语言·c++·人工智能·学习·机器学习