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是最终一致性的
相关推荐
sealaugh322 小时前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
水木兰亭3 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
鱼摆摆拜拜3 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
aha-凯心3 小时前
vben 之 axios 封装
前端·javascript·学习
ytttr8736 小时前
matlab通过Q学习算法解决房间路径规划问题
学习·算法·matlab
听风ツ9 小时前
固高运动控制
学习
西岭千秋雪_9 小时前
Redis缓存架构实战
java·redis·笔记·学习·缓存·架构
XvnNing9 小时前
【Verilog硬件语言学习笔记4】FPGA串口通信
笔记·学习·fpga开发
牛奶咖啡1310 小时前
学习设计模式《十六》——策略模式
学习·设计模式·策略模式·认识策略模式·策略模式的优缺点·何时选用策略模式·策略模式的使用示例
The_cute_cat10 小时前
JavaScript的初步学习
开发语言·javascript·学习