您的位置:首页 > 其它

RPC框架中服务的注册与发现

2017-12-19 00:00 706 查看
RPC框架是SOA架构的基石。分布式架构必须通过RPC框架进行远程调用。

RPC框架中有3个重要的角色:



注册中心 :保存所有服务的名字,服务提供者的ip列表,服务消费者的IP列表

服务提供者: 提供跨进程服务

服务消费者: 寻找到指定命名的服务并消费

注册中心维护着一个服务配置中心节点树:



服务提供者启动时,会将其服务名称,ip地址注册到配置中心。

服务消费者在第一次调用服务时,会通过注册中心找到相应的服务的IP地址列表,并缓存到本地,以供后续使用。当消费者调用服务时,不会再去请求注册中心,而是直接通过负载均衡算法从IP列表中取一个服务提供者的服务器调用服务。

当服务提供者的某台服务器宕机或下线时,相应的ip会从服务提供者IP列表中移除。同时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。

当某个服务的所有服务器都下线了,那么这个服务也就下线了。

同样,当服务提供者的某台服务器上线时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。

服务提供方可以根据服务消费者的数量来作为服务下线的依据。

一般会选择ZooKeeper或者Redis作为注册中心。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: