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

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,这两个订阅者做的事件,在上述图中曾经加以阐明。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理