默认端口号2181 Zookeeper是一个分布式协调工具,可以实现注册中心功能,可以取代Eureka作为服务注册中心,也是Java实现
1. pom
<!--SpringBoot整合Zookeeper客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
2. yml
spring:
application:
# 服务别名---注册zookeeper到注册中心的名称
name: cloud-provider-payment
cloud:
zookeeper:
# 默认localhost:2181
connect-string: localhost:2181
3. 启动类
@EnableDiscoveryClient
4. 启动zookeeper
zkServer.sh start
5. 启动后问题
如果服务端zk和导包zk版本不一致需要解决jar包冲突
<!--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>
<!--添加zookeeper3.4.9版本-->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
6. 查看服务端zk的znode
7. 思考
思考:服务节点是临时节点还是持久节点? 是临时节点,微服务下线立刻清除掉,再次上线会提供新的流水号,属于CAP中的
CP