为什么使用注册中心
对于服务提供方,它需要发布服务,而且由于应用系统的复杂性,服务的数量、类型也不断膨胀;对于服务消费方,它最关心如何获取到它所需要的服务,而面对复杂的应用系统, 需要管理大量的服务调用。
而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,即需要提供服务,有需要消费服务。 通过将服务统一管理起来,可以有效地优化内部应用对服务发布/ 使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。
Dubbo 提供的注册中心有如下几种类型可供选:
Multicast 注册中心:组播方式
Redis 注册中心:使用 Redis 作为注册中心
Simple 注册中心:就是一个 dubbo 服务。作为注册中心。提供查找服务的功能。
Zookeeper 注册中:使用 Zookeeper 作为注册中心
推荐使用 Zookeeper 注册中心。
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。
Zookeeper 就像是 windows 的资源管理器,包含了所有的文件。都可以在这里找到。服务提供者和服务消费者,都在注册中心登记。服务消费者使用的访问地址不用写死。而且注册中心使用“心跳”机制更新服务提供者的状态。不能使用的服务提供者会自动从注册中心删除。服务提供者不会调用不能使用的服务。
Zookeeper 是一个高性能的,分布式的,开放源码的分布式应用程序协调服务。简称 zk。Zookeeper 是翻译管理是动物管理员。可以理解为 windows 中的资源管理器或者注册表。他是一个树形结构。这种树形结构和标准文件系统相似。ZooKeeper 树中的每个节点被称为Znode。和文件系统的目录树一样,ZooKeeper 树中的每个节点可以拥有子节点。每个节点表示一个唯一服务资源。Zookeeper 运行需要 java 环境。
图一:
官网下载地址: http://zookeeper.apache.org/
进入官网地址,首页找到下载地址,现在稳定版本是 3.4.10
点击“Download”
下载 3.4.10 版
下载的文件 zookeeper-3.4.10.tar. 解压后到目录就可以了,例如 d:/servers/ zookeeper-3.4.10
修改 zookeeper-3.4.10/conf/ 目录下配置文件
复制 zoo-sample.cfg 改名为 zoo.cfg
文件内容:
tickTime: 心跳的时间,单位毫秒. Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。表明存活状态。
dataDir: 数据目录,可以是任意目录。存储 zookeeper 的快照文件、pid 文件,默认为/tmp/zookeeper,建议在 zookeeper 安装目录下创建 data 目录,将 dataDir 配置改为/usr/local/zookeeper-3.4.10/dataclientPort: 客户端连接 zookeeper 的端口,即 zookeeper 对外的服务端口,默认为 2181
①:上传 zookeeper-3.4.10.tar.gz 并解压
解压文件 zookeeper-3.4.10.tar.gz
执行命令:tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/
查看已解压:
②:配置文件
在 zookeeper 的 conf 目录下,将 zoo_sample.cfg 改名为 zoo.cfg,cp zoo_sample.cfg zoo.cfg
进入 zookeeper 目录下的 conf
拷贝样例文件 zoo-sample.cfg 为 zoo.cfg
③:启动 Zookeeper
启动(切换到安装目录的 bin 目录下):./zkServer.sh start
④:关闭 Zookeeper
关闭(切换到安装目录的 bin 目录下):./zkServer.sh stop
Zookeeper 图形界面的客户端:ZooInspector. 使用方式:Windows 上解压 ZooInspector 文件
主界面:
配置连接:
连接成功: