RPC框架的基本组成:
RPC:远程过程调用流程
注册中心:保存所有服务的名字,服务提供者的IP列表,服务消费者的IP列表
服务提供者:以一定的方式提供服务者相关的信息,可以是数据结构、服务接口定义、或者是中间态的服务文件。服务调用者可以通过一定的方式调用相关信息。
服务消费者:调用服务的一方
基本调用流程:
注册中心:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是一个分布式文件系统。ZK在这里作为注册中心就是一个注册表,让多个服务提供者形成一个集群,让服务消费者通过服务注册表获取具体的服务访问地址(ip+端口)去访问具体的服务提供者。同时,注册中心通过心跳机制,检测服务是否可用,如果不可用会注销该服务,同时通知服务消费者,该服务不可用。
因此,注册(Regist)的意思就是:
每当一个服务提供者部署后都要将自己的服务注册到zookeeper的某一路径(节点znode)上: /{service}/{version}/{ip:port},也就是在某一节点上创建目录。
结构如图(加深理解):