1. 程式人生 > >dubbo的服務暴露和註冊:

dubbo的服務暴露和註冊:

轉載:https://blog.csdn.net/u013160932/article/details/79337292
暴露服務的過程中,會涉及到兩個Protocol

  1. DubboProtocol主要是做網路通訊相關初始化
  2. RegistryProtocol主要是做zk的註冊和訂閱相關

執行到export到時候,會判斷本地暴露還是遠端暴露。
本地註冊會走DubboProtocol的export方法,裡面會呼叫openServer()啟動NETTY。
遠端註冊會走RegistryProtocol的export方法,裡面的doLocalExporter會走進DubboProtocl裡面獲取export,然後再註冊註冊中心。

註冊中心的ZookeeperRegistry有兩個父類,所以ZookeeperRegistry會先呼叫父類的構造方法,這個過程主要做了幾件事:

  1. 載入服務快取檔案(AbstractRegistry)
  2. 非同步(預設)更新快取檔案(AbstractRegistry)
  3. 定時重試失敗的動作:註冊失敗,取消註冊失敗,訂閱失敗,取消訂閱失敗,通知失敗(FailbackRegistry)
  4. 初始化zk通訊相關(ZookeeperRegistry)