概述
Zookeeper入门实战(注册中心)
Zookeeper是一个高性能的分布式协调服务,根据官方对Zookeeper(以后简称zk)的介绍,zk主要支持以下特性:
- 管理配置信息,可以作为管理配置信息的中央服务器
- 命名服务
- 分布式锁
- 分组服务,也就是leader选举
在之前Dubbo分布式服务框架入门实战(附源码)这篇文章中,使用了zk作为服务注册中心了,由于zk能够及时将新注册的服务主动推送给消费者,消费者完全不用操心具体服务提供者的具体信息,只需要知道有这个服务就可以了,因为zk会帮你发现新增的服务。同理,当某个服务下线时,zk也能主动通知消费者,这样消费者就不会去调用已下线的服务了。
这篇文章将分享两个方面的内容:
- Zookeeper的安装与配置
- Zookeeper作为服务注册与发现中心
Zookeeper的安装与配置
Zookeeper的安装与配置比较简单,首先需要到官网下载zookeeper的安装包,下载后解压到你需要安装的目录,然后修改conf
目录下的zoo_sample.cfg
为zoo.cfg
。如果是Windows环境,则切换到bin
目录,并双击执行zkServer.cmd
,如果出现以下的结果:
则说明zk安装成功。
Zookeeper作为服务注册与发现中心
在之前的文章中有使用到zk作为服务注册与发现中心,那么zk是如何作为服务注册与发现中心的呢?这篇文章将从原理的角度剖析zk是如何作为服务注册与发现中心的。
首先看如下的原理图:
首先,涉及到三个角色:服务提供者、服务消费者和服务注册中心(就是zk了)。
服务提供者:服务来源方,一个服务提供者只有注册到服务注册中心才可以被消费者使用。而要注册到注册中心则需要提供如下的信息:
- 服务提供者的应用名称
- 服务地址
- 服务端口
- 请求URL
服务消费者:服务的消费方,主要职责包括以下几个方面:
- 服务消费者在启动时从注册中心获取需要的服务注册信息并将注册信息缓存在本地
- 监听服务注册信息的变更,如果收到zk的变更通知,则修改本地缓存的服务注册信息
- 根据本地缓存的服务注册信息构建调用请求,并根据负载均衡策略转发请求
- 对服务提供方的注册信息进行心跳检测,如果某个已缓存的注册信息已经下线,则将该负责注册信息从本地缓存中移除。
服务注册中心:存储服务提供者注册的信息,并将注册信息实时变更主动push给服务消费者。
最后
以上就是迷人导师为你收集整理的Zookeeper入门实战(注册中心)的全部内容,希望文章能够帮你解决Zookeeper入门实战(注册中心)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复