本文对envoy go-control-plane源码进行梳理
go-control-plane
是envoy提供的一个控制面的go实现。这里分析的是v0.9.1版本,commit号为: 34c8be46e7fdd171a21e25203bc29e9e9ee56886
AggregatedDiscoveryServiceServer
这个包实现了AggregatedDiscoveryServiceServer
,它可以提供ads
模式的xDS协议服务。
1 |
|
当双向流中有请求进来时,handler就会创建一个读取流的go routine。这个读取go routine和它的父go程之间通过一个堵塞的
v2.DiscoveryRequest
channel进行交换数据。