共计 620 个字符,预计需要花费 2 分钟才能阅读完成。
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,这两个订阅者做的事件,在上述图中曾经加以阐明。
正文完