概况
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
安装与部署
自行百度,参考别的文档。
依赖包:
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.14</version>
</dependency>
注意:如果在项目启动过程中报错版本问题,可能是因为安装的Zookeeper与引用的maven包版本冲突导致,cloud中自带Zookeeper包,需要将自带的包排除
<!--SpringBoot整合Zookeeper客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
<exclusions>
<!--先排除自带的zookeeper3.5.3-->
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
YML简单配置
server:
port: 8004
spring:
application:
name: cloud-provider-payment
cloud:
zookeeper:
connect-string: 192.168.0.129:2181
先使用命令启动Zookeeper(Linux),后启动应用服务,然后通过在Zookeeper目录下的services中查看挂载的服务。也可进一步通过名称获取服务信息。
例如:
查看注册服务:ls /serivers
查看具体服务的唯一标识:ls /serivers/cloud-provider-payment
通过以上命令得到的唯一标识进一步查看信息:ls /serivers/cloud-provider-payment/唯一标识
需要注册的服务启动类需添加注解:@EnableDiscoveryClient