Dubbo中,dubbo可以自动搜索到服务上线,并注册,同时,也可以知道服务下线,自动从注册中心去掉服务。
但是静态服务就可以做到人工管理。
1.场景
有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式。
服务提供者初次注册时为禁用状态,需人工启用。断线时,将不会被自动删除,需人工禁用。
2.配置
<dubbo:registry address="10.20.141.150:9090" dynamic="false" />
或:
<dubbo:registry address="10.20.141.150:9090?dynamic=false" />
3.手动使用
如果是一个第三方独立提供者,比如 memcached,可以直接向注册中心写入提供者地址信息,消费者正常使用。
RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("memcached://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo"));