1. 概述
前面我们已经说过,注册中心负责服务地址的注册与查找,相当于目录服务。 服务端启动的时候将服务名称及其对应的地址(ip+port)注册到注册中心,服务消费端根据服务名称找到对应的服务地址。有了服务地址之后,服务消费端就可以通过网络请求服务端了。
简单来说注册中心就像是一个中转站,提供的作用就是根据调用的服务名称找到远程服务的地址(数据保存服务)。
注册中心模块整体结构如下:
![](https://gitee.com/veal98/images/raw/master/img/20201218101539.png)
我们在 rpc-registry 包中定义了两个接口 ServiceDiscovery.java
和 ServiceRegistry.java
,这两个接口分别定义了服务发现和服务注册行为。然后在 rpc-registry-zookeeper 包中使用 ZooKeeper 作为注册与发现中心实现了这两个接口。
2. 服务注册接口
/**
* 服务注册接口
*/
public interface ServiceRegistry {