一、分布式注册中心
分布式架构中的所有服务器都向中心注册服务器信息
应用a访问应用b时, 则应用a首先通过应用b的应用名称向注册中心获取最新的ip地址,
再根据ip地址访问应用b
在分布式架构中,服务会注册到注册中心,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。
二、注册中心原理
主要包括三个角色:服务提供者、服务消费者、注册中心。运行原理差不多是:
1.、微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据。
2、服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口。
3、各个微服务与注册中心使用一定机制(例如心跳)通信。如果注册中心与某微服务长时间无法通信,就会注销该实例。
4、微服务网络地址发送变化(例如实例增加或IP变动等)时,会重新注册到注册中心。这样,服务消费者就无需人工修改提供者的网络地址了。
三、注册中心作用
服务注册后,如何被及时发现;服务宕机后,如何及时下线;服务如何有效的水平扩展;服务发现时,如何进行路由;服务异常时,如何进行降级;注册中心如何实现自身的高可用等问题,目前市场上得到注册中心基本实现了在:服务端(注册中心服务):提供服务注册接口、提供服务下线接口、管理服务地址列表、服务下线通知。客户端(注册中心接入端):获取服务列表信息、服务负载均衡选择、服务心跳发送等功能。
现行的开源分布式架构:
1. springcloud:
注册中心:
eureka, 已淘汰
eureka2,
nacos, 阿里推出.
zookeeper
2. dubbo, dubbox:
注册中心: zookeeper