RPC框架中服务的注册与发现
2017-12-19 00:00
706 查看
RPC框架是SOA架构的基石。分布式架构必须通过RPC框架进行远程调用。
RPC框架中有3个重要的角色:
注册中心 :保存所有服务的名字,服务提供者的ip列表,服务消费者的IP列表
服务提供者: 提供跨进程服务
服务消费者: 寻找到指定命名的服务并消费
注册中心维护着一个服务配置中心节点树:
服务提供者启动时,会将其服务名称,ip地址注册到配置中心。
服务消费者在第一次调用服务时,会通过注册中心找到相应的服务的IP地址列表,并缓存到本地,以供后续使用。当消费者调用服务时,不会再去请求注册中心,而是直接通过负载均衡算法从IP列表中取一个服务提供者的服务器调用服务。
当服务提供者的某台服务器宕机或下线时,相应的ip会从服务提供者IP列表中移除。同时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。
当某个服务的所有服务器都下线了,那么这个服务也就下线了。
同样,当服务提供者的某台服务器上线时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。
服务提供方可以根据服务消费者的数量来作为服务下线的依据。
一般会选择ZooKeeper或者Redis作为注册中心。
RPC框架中有3个重要的角色:
注册中心 :保存所有服务的名字,服务提供者的ip列表,服务消费者的IP列表
服务提供者: 提供跨进程服务
服务消费者: 寻找到指定命名的服务并消费
注册中心维护着一个服务配置中心节点树:
服务提供者启动时,会将其服务名称,ip地址注册到配置中心。
服务消费者在第一次调用服务时,会通过注册中心找到相应的服务的IP地址列表,并缓存到本地,以供后续使用。当消费者调用服务时,不会再去请求注册中心,而是直接通过负载均衡算法从IP列表中取一个服务提供者的服务器调用服务。
当服务提供者的某台服务器宕机或下线时,相应的ip会从服务提供者IP列表中移除。同时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。
当某个服务的所有服务器都下线了,那么这个服务也就下线了。
同样,当服务提供者的某台服务器上线时,注册中心会将新的服务IP地址列表发送给服务消费者机器,缓存在消费者本机。
服务提供方可以根据服务消费者的数量来作为服务下线的依据。
一般会选择ZooKeeper或者Redis作为注册中心。
相关文章推荐
- 简单RPC框架-基于Consul的服务注册与发现
- 简单RPC框架-基于Consul的服务注册与发现
- 如何写一个RPC框架(三):服务注册与服务发现
- 简单RPC框架-基于Consul的服务注册与发现
- RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化
- spring-cloud 微服务框架集合 Eureke 服务注册于发现
- 一个简单RPC框架是如何炼成的(VI)——引入服务注册机制
- zookeeper与grpc集成实现服务注册与发现
- 一起写RPC框架(十七)RPC注册中心四--注册中心服务消费者端的处理
- 模拟dubbo 框架RPC调用及dubbo的服务动态注册,服务路由,负载均衡功能的思考
- Spring Cloud 快速入门esclipse快速搭建微服务框架 (一)-注册与发现
- go微服务框架go-micro深度学习(三) Registry服务的注册和发现
- 详解golang consul-grpc 服务注册与发现
- go微服务框架go-micro深度学习(三) Registry服务的注册和发现
- Service注册发现及其调用-分布式服务框架
- 一起写RPC框架(十)RPC服务提供端二--服务的编织和注册
- Spring cloud 系列之 服务注册与发现 Eureka
- 服务发现和注册和Eureka
- SpringCloud——服务注册与发现Eureka以及注册源码解析
- Spring Cloud(一)服务的注册与发现(Eureka)