什么是Zookeeper?

官方定义:Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级 的服务,比如同步,配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端 API。

为什么要有Zookeeper?

如果要问为什么要有Zookeeper,那么就要从分布式系统聊起:20世纪60年代,大型机被发明了出来,凭借自身的超强计算和I/O处理能力以及稳定、安全性,成为了世界的主流。但是大型机也有一些致命的问题,比如造价昂贵、操作复杂、单点问题等。特别是对大型机的人才的培养成本非常之高。随着这些问题的出现,不断影响了大型机的发展。而另一方面PC机性能的不断提升和网络普及,大家开始转向了使用小型机和普通的PC服务器来搭建分布式的计算机系统,来降级成本。而后分布式便不断火热起来。

  1. 那什么是分布式系统呢?
    分布式系统是一个硬件或者软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通讯和协调的系统。它具有以下特点:分布性、对等性、并发性、缺乏全局时钟、故障总是会发生。

  2. 分布式环境会有那些问题呢?
    通讯异常、 网络分区(脑裂)、 三态 、节点故障

  3. 分布式系统事务处理与数据一致性上有那些挑战?
    a) ACID 原子性、一致性、隔离性、持久性
    b) CAP 一致性、可用性、分区容错性
    c) BASE 基本可用、软状态、最终一致性
    d) 2PC和3PC
    经过上面的种种的发展,Zookeeper作为Apache Hadoop的子项目发展起来,它为分布式应用提供了高效可靠的分布式协调服务。

Zookeeper来由相关推荐

  1. 使用Zookeeper共享锁和排它锁和分布式队列的原理和实现(ZkClient)

    简介 当我们分布式系统中多个节点需要访问同一共享数据,就需要加一把分布式锁,因为如果是同一进程的线程的话,完全可以采用Java的同步锁实现,但是这是多进程间的锁,所以就需要一个协调者来协调进程间的通信 ...

  2. 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别

    1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...

  3. kafka+zookeeper搭建步骤kafka问题

    kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...

  4. ZooKeeper简单使用

    ZooKeeper简单使用 ZooKeeper简单使用 1.ZooKeeper简介 2.ZooKeeper能做什么 3.ZooKeeper核心 3.1.ZooKeeper安装 3.2.ZooKeepe ...

  5. 2021年大数据ZooKeeper(六):ZooKeeper选举机制

    目录 ​​​​​​ZooKeeper选举机制 概念 全新集群选举 非全新集群选举 ZooKeeper选举机制 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜 ...

  6. 2021年大数据ZooKeeper(五):ZooKeeper Java API操作

    目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...

  7. 2021年大数据ZooKeeper(四):ZooKeeper的shell操作

    目录 ZooKeeper的shell操作 客户端连接 shell基本操作 操作命令 操作实例 节点属性 ​​​​​​​ZooKeeper Watcher(监听机制) ​​​​​​​Watch机制特点 ...

  8. 2021年大数据ZooKeeper(三):Zookeeper数据模型和节点类型

    目录 Apache ZooKeeper Zookeeper数据模型 Zookeeper节点类型 Apache ZooKeeper Zookeeper数据模型 图中的每个节点称为一个Znode. 每个Z ...

  9. 2021年大数据ZooKeeper(二):ZooKeeper集群搭建

    目录 ZooKeeper集群搭建 第一步:下载zookeeeper的压缩包,下载网址如下 第二步:解压 第三步:修改配置文件 第四步:添加myid配置 ​​​​​​​第五步:安装包分发并修改myid的 ...

最新文章

  1. Linux编程---线程
  2. MyBatis-Spring配置简单了解
  3. Java怎么学?Java的学习步骤分享
  4. Ubuntu一键安装LAMP环境
  5. 【C语言】第二章 信息编码与数据类型 题解
  6. 【PHP源码】二维码生成api
  7. 为什么要预留字段_PaperYY为什么会免费论文查重?
  8. php操作mysql常用_PHP常用MySql操作
  9. seekbar垂直放置_android GridLayout
  10. Easy RealMedia Producer使用向导
  11. 如何正确的寻找电影资源
  12. Java md5加密算法
  13. Linux虚拟机配置防火墙和软件安装限制
  14. 列表/字典生成式、生成器(generator)、迭代器(Iterator)
  15. 创立仅一年GMV突破3亿!这个新锐品牌如何在快手实现爆发?
  16. Vivado使用技巧(12):设置DCI与内部参考电压
  17. 云服务器+花生壳+xming+vscode环境搭建(云服务器运行程序,本地进行GUI显示)
  18. 第四章:数据存储-csv文件处理-读取csv文件的两种方式
  19. 使用计算机进入什么状态,装机过程中什么情况要进bios设置?
  20. 使用nodejs、express以及MySQL制作一个简单类淘宝的登录注册页面

热门文章

  1. Mac 查看本机ip
  2. 函数| 常用模块总结练习
  3. 天涯直播筹资300万,七天仅赚14.99万,重启计划岌岌可危
  4. 基于单循环链表实现俄罗斯轮盘赌游戏(C语言实现)
  5. canvas画布上平铺图片绘制文本
  6. commons-pool2自定义对象池-快速开始
  7. matlab裁剪图片边框,MATLAB复制图片时边框大的问题
  8. 西工大2015年至2019年计算机机试题
  9. 实现多线程的三种方式
  10. 行政职业能力测试答题软件,行政职业能力测试每日一练试题(4.1)