zookeeper

简介

  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
  • ZooKeeper和redis 一样,数据也是存在内存中。
    image
  • 如图zookeeper 和redis 一样,zookeeper 拥有一个主节点和n个从节点,所有集群中的数据量是一致的,查询可以从从节点拿,增删改统一从主节点中操作。

安装

docker run -d --name zookeeper -p 2181:2181 zookeeper

概念

  • zookeeper每个节点只支持1m
  • 不要把zk 当作数据库使用,他是用来做分布式协调使用的。
  • zookeeper 也是采用的最终一致性的。
  • zookeeper 的可靠性在于其快速恢复的特性,虽然他挂了,但是他能快速选举出一个主节点
  • zookeeper 是读写分离的
    image

zookeeper可以做哪些事

  1. 统一配置管理 <- 1m空间
  2. 分组管理 <- path结构
  3. 统一命名 sequential
  4. 同步 <- 临时节点 (分布式锁)

zookeeper 和 redis 分布式锁区别

  • zookeeper建立锁是一个session ,如果客户端挂了,zookeeper上的锁会自动消失,不需要业务服务吃这段逻辑。