ServicePathManager的生成
通过剖析demo-edge例子,微服务consumer作为Consumer角色,调用business(做为Provider角色),调用链最终进入了CseClientHttpRequest的execute办法,如下
最重要的一个步骤是找到requestMeta信息,在requestMeta信息创立过程中,触发服务发现,通过一系列简单的发现过程,最终失去了business微服务信息,包含endpoint和path这些信息。这些信息和一个servicePathManager有十分亲密的关系。
因而,独自对servicePathManager生成过程做剖析,如下
Provider初始化servicePathManager比较简单,微服务启动,SCBEngine运行起来就会创立Provider的servicePathManager.
Consumer略微简单一些,在服务发现触发之后创立的,创立过程通过引擎的事件总线把创立过程串起来。微服务发现过程中,触发CreateMicroserviceVersionEvent事件,事件在总线流动,先到ServiceRegistryListener的onCreateMicroserviceVersion,而后再到RestEngineSchemaListener的onCreateMicroserviceVersion,这两个订阅者做的事件,在上述图中曾经加以阐明。