暴露服務時序

image.png
暴露服務
1. 只暴露服務端口:
在沒有注冊中心,直接暴露提供者的情況下 1,ServiceConfig 解析出的 URL 的格式為: dubbo://service-host/com.foo.FooService?version=1.0.0。
基于擴展點自適應機制,通過 URL 的 dubbo:// 協(xié)議頭識別,直接調(diào)用 DubboProtocol的 export() 方法,打開服務端口。
2. 向注冊中心暴露服務:
在有注冊中心,需要注冊提供者地址的情況下 2,ServiceConfig 解析出的 URL 的格式為: registry://registry-host/org.apache.dubbo.registry.RegistryService?export=URL.encode("dubbo://service-host/com.foo.FooService?version=1.0.0"),
基于擴展點自適應機制,通過 URL 的 registry:// 協(xié)議頭識別,就會調(diào)用 RegistryProtocol 的 export() 方法,將 export 參數(shù)中的提供者 URL,先注冊到注冊中心。
再重新傳給 Protocol 擴展點進行暴露: dubbo://service-host/com.foo.FooService?version=1.0.0,然后基于擴展點自適應機制,通過提供者 URL 的 dubbo:// 協(xié)議頭識別,就會調(diào)用 DubboProtocol 的 export() 方法,打開服務端口。