多註冊中心,一般用不到,但是某些情況下的確能解決不少問題,可以將某些dubbo服務註冊到2套dubbo系統中,實現服務在2套系統間的共用. 網上的配置說明很多,但包括dubbo官方說明文檔都是以xml文件配置方式舉例. 如想採用javaconfig的配置方式,則只需要對provider中的配置做適當 ...
多註冊中心,一般用不到,但是某些情況下的確能解決不少問題,可以將某些dubbo服務註冊到2套dubbo系統中,實現服務在2套系統間的共用.
網上的配置說明很多,但包括dubbo官方說明文檔都是以xml文件配置方式舉例.
如想採用javaconfig的配置方式,則只需要對provider中的配置做適當修改,如下所示:
@Bean public RegistryConfig registryConfig() { RegistryConfig registryConfig = new RegistryConfig(); registryConfig.setAddress(env.getProperty("dubbo.registry.address")); return registryConfig; } @Bean public RegistryConfig registryConfig2() { RegistryConfig registryConfig = new RegistryConfig(); registryConfig.setAddress(env.getProperty("dubbo.registry.address"));
registryConfig.setDefault(false); //其它的都設置為非預設註冊中心 return registryConfig; }
只需要將第二套註冊中心設置為非預設地址.然後在註冊服務的時候指定註冊中心地址即可:
@Service(version = "1.0.0",registry = {"registryConfig","registryConfig2"}) public class ServiceImpl implements Service{ ..... }
如果不在@Bean中指定beanName,則預設使用方法名稱,否則使用指定的beanName進行註冊.
通過以上配置後此服務便註冊到2套註冊中心中,此服務同時也被2套dubbo系統共用.