zookeeper作为SpringCloud注册中心

一、ZooKeeper 简介

ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。实现高度可靠的分布式协调。
zookeeper作为SpringCloud注册中心_第1张图片

  • 简单:直接通过ip+端口号连接后,就可以使用;
  • 多副本:在集群中有基数个节点,节点间的znode信息相互复制;
  • 有序:每一次更新都有 唯一的zxid (ZooKeeper Transaction Id),按zxid顺序依次更新;
  • 快:数据保存在内存中,所有读取速度相当快;
  • 一个leader:集群中通过投票的方式,选举leader节点;
    注意:Zookeeper作为注册中心的时候,尽量不要跨机房,以免导致脑裂,到时服务不可用;

二、Zookeeper 安装配置

详情参考另一篇文章:https://blog.csdn.net/qq_36918149/article/details/95062903

三、SpringCloud 用 ZooKeeper 作为注册中心

3.1 服务提供方
1) pom依赖

	
		1.8
		Greenwich.SR1
	
	
	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				${spring-cloud.version}
				pom
				import
			
		
  
	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-actuator
		
		
		
			org.springframework.cloud
			spring-cloud-starter-zookeeper-discovery
		

2)配置文件

application.properties

#服务端口
server.port=12345
spring.cloud.zookeeper.connect-string=localhost:2181

bootstrap.properties

#应用名称
spring.application.name=waiter-service

3)代码配置

@SpringBootApplication
@EnableDiscoveryClient
public class WaiterServiceApplication implements WebMvcConfigurer {
	public static void main(String[] args) {
		SpringApplication.run(WaiterServiceApplication.class, args);
	}
}

**3.2 服务消费方

  1. pom依赖**

		1.8
		Greenwich.SR1


		
			
				org.springframework.cloud
				spring-cloud-dependencies
				${spring-cloud.version}
				pom
				import
			
		

	

	org.springframework.boot
	spring-boot-starter-web


	org.springframework.boot
	spring-boot-starter-actuator


	org.springframework.cloud
	spring-cloud-starter-zookeeper-discovery

	

2)配置文件
application.properties

#服务端口
server.port=54321
spring.cloud.zookeeper.connect-string=localhost:2181

bootstrap.properties

#应用名称
spring.application.name=waiter-service

3)代码配置

@SpringBootApplication
@EnableDiscoveryClient
public class CustomerServiceApplication {

	public static void main(String[] args) {
		SpringApplication.run(CustomerServiceApplication.class, args);
	}
	}

3.3 验证Zookeeper注册结果
两个服务已经注册上
zookeeper作为SpringCloud注册中心_第2张图片
可以看到注册服务的注册信息
在这里插入图片描述

3.3 集成过程问题处理
1)服务节点无法连接上zookeeper
原因:curator 与 zookeeper 版本有兼容性问题
解决方案:http://curator.apache.org/zk-compatibility.html
2)zookeeper 拒绝节点连接
原因:没准确定位到,可能是zookeeper 服务ip地址绑定问题
解决方案:重启zookeeper

你可能感兴趣的:(SpringCloud)