Dubbo系列之 (二)Registry注册中心-注册(1)
引导 dubbo的服务的注册与发现,需要通过第三方注册中心来协助完成,目前dubbo支持的注册中心包括 zookeeper,consul,etcd3,eureka,nacas,redis,sofa。这些注册中心的不同支持在之后的篇章进行分享。 基础铺垫 在铺垫一些基础内容之前,根据如果下几个问题来进行回答,或许能更好的阐明dubbo的实现服务的注册和发现的实现过程。 1、dubbo是在什么时机与注册中心建立连接。 2、dubbo服务注册和导出的时机在什么时候。 3、dubbo服务的订阅时机是在什么时候。 4、dubbo服务的上下线是如何通知订阅者的。 5、dubbo是如何把这些各种第三方注册中心进行整合的。 为了回答上面的五个问题,我们一起去从dubbo的源码探寻答案,这些问题和服务的注册有关,那么首先我们需要的就是去dubbo-registry这个源码模块去查询。 基础数据结构 1、dubbo 还是通过SPI技术,根据参数URL来动态选择不同的注册中心。 @SPI("dubbo") public interface RegistryFactory { @Adaptive({"protocol"}) Registry getRegistry(URL url); } RegistryFactory 就是产生一个注册中心的工程,它有个自适应的方法getRegistry