Skip to main content

zookeeper安装与配置

Zookeeper介绍

Zookeeper是一个分布式协调服务,字面意思就是主要用于为服务架构的一个服务。 Zookeeper主要功能有两点:

1. 高可用。 ZooKeeper 本身的高可用(ZK 集群 + 选举机制)

  • ZooKeeper 采用集群模式部署(一般是 3-5 个节点)。
  • Leader 负责写操作,Follower 负责读操作。
  • 如果 Leader 挂掉,ZK 集群会通过 选举机制 选出新的 Leader,保证高可用性。
  • 采用 ZAB 协议 进行数据同步,确保所有节点状态一致。

这部分与业务无关,主要是为了保证 ZooKeeper 自己不会成为单点故障。

2. 分布式协调服务。 ZooKeeper 对外提供的核心功能 是 分布式协调,用于解决分布式系统中的一致性和协调问题,主要包括

服务注册与发现
  • 服务启动时,把自己的信息(IP、端口)注册到 ZK 上。
  • 其他服务可以从 ZK 发现可用的服务实例。
  • 如果某个实例宕机,ZK 会通知其他服务,避免访问无效节点。
  • 统一配置管理
  • 业务配置存储在 ZK 节点中,多个服务可以动态监听配置变化,实现配置热更新。

分布式锁

  • 依赖 ZK 创建临时节点 + 监听机制,多个进程竞争时,确保只有一个进程能获取锁。适用于 分布式任务调度、数据库分布式事务 等场景。

业务系统的分布式 Leader 选举

  • 适用于多个进程竞争同一任务时,ZK 帮助选出 唯一的 Leader,确保任务不会被多个实例重复执行。比如:分布式定时任务(只有一个实例调度任务)。

分布式队列

  • 基于 ZK 有序节点,可以实现先进先出(FIFO)队列,用于任务排队。

这一部分是 ZooKeeper 为业务提供的核心分布式协调能力。