如果你要扩展一个注册中心,我们先看下注册中心的抽象类。
package com.alipay.sofa.rpc.registry;
@Extensible(singleton = false)
public abstract class Registry implements Initializable, Destroyable {
public abstract boolean start();
public abstract void register(ProviderConfig config);
public abstract void unRegister(ProviderConfig config);
public abstract void batchUnRegister(List<ProviderConfig> configs);
public abstract List<ProviderGroup> subscribe(ConsumerConfig config);
public abstract void unSubscribe(ConsumerConfig config);
public abstract void batchUnSubscribe(List<ConsumerConfig> configs);
}
可以看到我们需要的主要接口。
其它 - [ ] 注册中心节点断连后,不影响本地调用 - [ ] 和一个注册中心节点断连后,可自己切换到其它注册中心节点 - [ ] 注册中心节点切换后,自动恢复注册和订阅信息 - [ ] 注册中心数据缓存到本地文件,就算连不上任何注册中心,服务提供者和服务调用者也能重启并正常调用