1注册中心概述

对于服务提供方,他需要发布服务,而且由于应用系统的复杂性,服务的数量,类型也不断

膨胀,对于服务消费方,它最关心如何获取到它所需服务,而面对复杂的应用系统,需要管理大量的服务调用。

   而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,需要提供服务,有需要消费服务,通过将服务统一管理起来,可以有效的优化内部应用对服务发布/使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。Dubbo提供的注册中心有如下类型:

Multicat注册中心:组播方式

Redis注册中心:使用Redis作为注册中心

Zookeeper注册中心:使用Zookeeper作为注册中心

推荐使用Zookeeper注册中心

2.注册中心工作方式

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java-zookeeper

 3.Zookeeper注册中心

    zookeeper是一个高性能,分布式,开源的分布式应用程序协调服务,Zookeeper是翻译

动物管理员。可以理解为windows中的资源管理器或者注册表,他是一个树形结构。这种树形结构和标准文件系统相似。ZooKeeper树中每个节点被称为Znode。和文件系统的目录树一样,zookeeper树中每个节点可以拥有子节点。每个节点表示唯一服务资源。zookeeper运行需要java环境。

3.1下载zookeeper文件

官网下载地址: http://zookeeper.apache.org/

3.2安装配置Zookeeper

 windows平台安装Zookeeper 配置

下载的文件 zookeeper-3.5.4-beta.tar.gz. 解压后到目录就可以了

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_zookeeper_02

 复制zoo-sample.cfg 改名为zoo.cfg

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java_03

配置内容 

dataDir 数据目录 存储zookeeper文件 pid文件 

admin.serverPort=8888

Linux平台Zookeeper安装,配置

Zookeeper的运行需要jdk。使用前linux系统要安装好jdk

1)上传 zookeeper-3.5.4-beta.tar.gz 解压文件

 执行命令 tar -zxvf zookeeper-3.5.4-beta.tar.gz -C /usr/local

2)配置文件 

在zookeeper的conf目录下,将zoo_sample.cfg 改名为zoo.cfg 

 进入zookeeper目录下的conf   执行命令: cp zoo_sample.cfg    zoo.cfg 

3)启动zookeeper

启动(切换到安装目录的bin目录下) :  ./zkServer.sh start

4)关闭Zookeeper

关闭(切换到安装目录的bin目录下):  ./zkServer.sh stop

4.改造dubbo -使用zookeeeper

      新项目加入 zookeepeer 相关 jar:

<!--zookeeper--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.1.0</version> </dependency>

  4.1 dubbo-zk-userservice-privider.xml   

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java-zookeeper_04

监听器 

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_zookeeper_05

 4.2 dubbo-zk-consumer.xml

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_zookeeper_06

 applicationContext.xml

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java_07

 web.xml

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java_08

 

controller

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_xml_09

 

zookeeper 作为注册中心有心跳检查 zookeeper实现注册中心_java_10

 5运行应用

1.先启动注册中心 2.再启动 tomcat 服务器 3.访问 zk-consumer的 userDetail.jsp

1. 先启动 zookeeper, dubbo 服务提供者,dubbo 服务消费者。

2. 测试正常访问

 3. 停止 zookeeper

4. 测试消费者仍然可以访问提供者