Dubbo中Directory解析
阿新 • • 發佈:2017-08-30
clas cdi get imp bottom auto oid lar extension
Directory代表多個Invoker,可以把它看成List
Directory接口
Directory接口繼承了Node接口:
1 | public interface Directory<T> extends Node { |
AbstractDirectory
默認實現為AbstractDirectory:
1 | public abstract class AbstractDirectory<T> implements Directory<T> { |
Directory具體的實現有兩個RegistryDirectory註冊目錄服務和StaticDirectory靜態目錄服務。
RegistryDirectory
RegistryDirectory實現了NotifyListener接口,因此他本身也是一個監聽器,可以在服務變更時接受通知,消費方要調用遠程服務,會向註冊中心訂閱這個服務的所有的服務提供方,訂閱的時候會調用notify方法,進行invoker實例的重新生成,也就是服務的重新引用。在服務提供方有變動時,也會調用notify方法,有關notify方法在Dubbo中訂閱和通知解析那篇文章中已經解釋,不做重復。subscribe方法也不做重復解釋。
StaticDirectory
靜態目錄服務。
Dubbo中Directory解析