Zookeeper
Zookeeper 可以被用作注册中心。ZooKeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。服务生产者将自己提供的服务注册到 ZooKeeper 中心,服务的消费者在进行服务调用的时候先到 ZooKeeper 中查找服务,获取到服务生产者的详细信息之后,再去调用服务生产者的内容与数据。Zookeeper可以搭建集群版,最好使用奇数台服务器构成 ZooKeeper 集群, ZooKeeper 中 Leader 选举算法采用了 Zab 协议。Zab 核心思想是当多数 Server 写成功,则任务数据写成功。一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP。所有zookeeper的节点是临时节点。
-
安装zookeeper(集群)到Linux或者Windows
安装的zookeeper版本需与pom引入的版本一致,否则将会报错。
-
添加pom依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency>
-
properties配置文件
server.port=8003 #服务名称 spring.application.name=cloud-payment-service #注册服务到zookeeper注册中心 springcloud.zookeeper.connect-string=127.0.0.1:2181
-
主启动类
@SpringBootApplication @EnableDiscoveryClient public class ZookepperApplication { public static void main(String[] args) { SpringApplication.run(ZookepperApplication.class, args); } }