Zookeeper技术精华带领深入详细了解

Zookeeper的名字由来

在apache上的许多开源项目都是以动物形象作为icon,比如tomcat就是一只猫,hive是只黄蜂等,zookeeper的工作就是把这些动物的行动进行协调

Zookeeper的简介

zookeeper就是一种用于分布式应用程序的高性能协调服务,它的特点就是数据是存于内存中的,持久化实现在日志中。它的内存类似于树形结构,且高吞吐低延迟,可以帮助我们实现分布式统一配置中心,服务注册,分布式锁等
组成ZooKeeper服务的服务器必须彼此了解。它们维护内存中的状态图像,以及持久性存储中的事务日志和快照。只要大多数服务器可用,ZooKeeper服务就可用。客户端连接到单个ZooKeeper服务器。客户端维护TCP连接,通过该连接发送请求,获取响应,获取监视事件以及发送tick。如果与服务器的TCP连接中断,则客户端将连接到其他服务器。

如果别人/面试官让你讲讲 ZooKeeper 是什么,你能回答到哪个地步呢?

想了半天,脑海中只是简单的能浮现出几句话:

  • Zookeeper 可以被用作注册中心。
  • Zookeeper 是 Hadoop 生态系统的一员。
  • 构建 Zookeeper 集群的时候,使用的服务器最好是奇数台。

可见,我对于 Zookeeper 的理解仅仅是停留在了表面。所以,通过本书,希望带大家稍微详细的了解一下 ZooKeeper 。

目录

主要内容

第一部分 ZooKeeper的概念和基础

第一部分阐述了Apache ZooKeeper这类系统的设计目的和动机,并介绍分布式系统的一些必要背景知识。

第1章介绍了ZooKeeper可以做什么,以及其设计如何支撑这些任务。

第2章介绍了基本概念和基本组成模块,并通过命令行工具的具体操作介绍ZooKeeper可以做什么。

第二部分 使用ZoopKeeper进行开发

第二部分阐述程序员所需要掌握的ZooKeeper库调用方法和编程技巧,虽然对系统运维人员来说也有一定价值,但也可以不选择阅读。这一部分主要以Java语言的API为主,因为Java是非常流行的开发语言,如果你之前使用其他开发语言,可以通过这一部分内容来学习基本的技术和方法调用,之后通过其他语言来实现。另外,我们也为C语言的应用开发人员提供了一章内容的开发方法。

第3章介绍Java语言的API。

 

第4章解释如何跟踪和处理ZooKeeper中的状态变更情况。

第5章介绍如何在系统或网络故障时恢复应用。

第6章介绍为了避免故障要注意的一些繁杂却很重要的场景。

第7章介绍C语言版的API,该章也可以作为非Java语言实现的ZooKeeper API的基础,对非Java语言的开发人员非常有帮助。

第8章介绍一款更高层级的封装的ZooKeeper接口。

第三部分 ZooKeeper的管理

第三部分主要适用于ZooKeeper的系统运维人员,尤其在第9章章中即便对开发人员也很有价值。

第9章介绍ZooKeeper的作者们在设计时所采用的方案,这些知识对运维管理非常有帮助。

第10章介绍如何对ZooKeeper进行配置。

总结

如果没有学过 ZooKeeper,那么本书将会是你进入 ZooKeeper 大门的垫脚砖;如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。

很多中间件,比如Kafka、Hadoop、HBase,都用到了 Zookeeper,于是很多人就会去了解这个 Zookeeper 到底是什么,为什么它在分布式系统里有着如此无可替代的地位。

在踩了很多坑之后,我决定来回答下这个问题。

其实学任何一项技术,首先都要弄明白,为什么需要这项技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值