微服务框架ServiceComb源码解析之一服务注册与发现

ServicePathManager的生成

通过分析demo-edge例子,微服务consumer作为Consumer角色,调用business(做为Provider角色),调用链最终进入了CseClientHttpRequest的execute方法,如下
微服务框架ServiceComb源码解析之一服务注册与发现_第1张图片

最重要的一个步骤是找到requestMeta信息,在requestMeta信息创建过程中,触发服务发现,通过一系列复杂的发现过程,最终得到了business微服务信息,包括endpoint和path这些信息。这些信息和一个servicePathManager有非常密切的关系。

因此,单独对servicePathManager生成过程做分析,如下

微服务框架ServiceComb源码解析之一服务注册与发现_第2张图片

Provider初始化servicePathManager比较简单,微服务启动,SCBEngine运行起来就会创建Provider的servicePathManager.

Consumer稍微复杂一些,在服务发现触发之后创建的,创建过程通过引擎的事件总线把创建过程串起来。微服务发现过程中,触发CreateMicroserviceVersionEvent事件,事件在总线流动,先到ServiceRegistryListener的onCreateMicroserviceVersion,然后再到RestEngineSchemaListener的onCreateMicroserviceVersion,这两个订阅者做的事情,在上述图中已经加以说明。

你可能感兴趣的:(微服务服务发现源码分析服务注册)