1注册中心概述
对于服务提供方,他需要发布服务,而且由于应用系统的复杂性,服务的数量,类型也不断
膨胀,对于服务消费方,它最关心如何获取到它所需服务,而面对复杂的应用系统,需要管理大量的服务调用。
而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,需要提供服务,有需要消费服务,通过将服务统一管理起来,可以有效的优化内部应用对服务发布/使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。Dubbo提供的注册中心有如下类型:
Multicat注册中心:组播方式
Redis注册中心:使用Redis作为注册中心
Zookeeper注册中心:使用Zookeeper作为注册中心
推荐使用Zookeeper注册中心
2.注册中心工作方式
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. 解压后到目录就可以了
复制zoo-sample.cfg 改名为zoo.cfg
配置内容
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
监听器
4.2 dubbo-zk-consumer.xml
applicationContext.xml
web.xml
controller
5运行应用
1.先启动注册中心 2.再启动 tomcat 服务器 3.访问 zk-consumer的 userDetail.jsp
1. 先启动 zookeeper, dubbo 服务提供者,dubbo 服务消费者。
2. 测试正常访问
3. 停止 zookeeper
4. 测试消费者仍然可以访问提供者