最近工作中经常用到了zookeeper,这里对其进行简单的记录,以便后续有新手接触时,可以更加快速的入门,少入坑!
zookeeper是hadoop和Hbase的重要组件,我工作中主要涉及C++和python结合zookeeper开发,关于python的开发这里不做过多介绍,在git上有相应的zkclient.py大家可以直接利用它进行二次开发,这个系列的文章主要讲解关于zookeeper的c开发,既然说到了zookeeper首先要明白他是做什么用的,简单来说它类似于文件系统,有根目录子目录,每一层级的目录与树结构相同,如果说到文件系统大家肯定会想到同级目录下不会有相同名称的文件,这点也是zookeeper的一个特性,zk利用其特点实现了分布式锁的功能,做过分布式开发的同学肯定应该清楚,每个服务跑在不同的机器上,服务于服务之间通过网络进行通信,但是网络是不可靠的,所以很多的时候可能因为网络的问题让我们以为服务死掉。
eg:服务器通常会做双机热备,如果主服务down掉可以直接切换到从服务上,同时保证数据的可靠性,如果这个时候主服务并没有down掉,只是因为网络问题造成通信故障,这时所有的节点会连接从服务,不久主服务又重新恢复,这个时候就会出现双服务,数据也就会紊乱。如果利用zk,我们虽然不能解决网络的异常现象,但是我们可以避免因为网络而造成的双服务现象。
zookeeper笔记(一)
最新推荐文章于 2022-06-30 07:27:54 发布