30天了解30种技术系列(19)------开源分布式协调系统Zookeeper

  

     分布式系统是互联网系统的根基,但是只要谈到分布式系统,就会涉及到分布式系统的管理,本期老钱介绍一下Zookeeper。

 

    Zookeeper目前是Hadoop 生态圈的热门项目,是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等.

 

   目前使用了Zookeeper的项目有Hadoop,HBase,Flume,Yarn等。主要用来做机器的管理及分布式锁服务,HA等。

   
   系统模型如下:

   
30天了解30种技术系列(19)------开源分布式协调系统Zookeeper_第1张图片
  每一个Server的数据都是一样的,所以对于读操作,客户端随机链接一个Server 即可,如果是写操作,则需要对接到Leader,然后由Leader 负责转发与更新的操作。 

 

  具体角色如下:

  
30天了解30种技术系列(19)------开源分布式协调系统Zookeeper_第2张图片
 

   Zookeeper 在选举中,会采用Fast Paxos算法,作为基础。一般在生产环境咱们需要部署奇数个节点,3个起。

   

   Zookeeper的数据结构:

  
30天了解30种技术系列(19)------开源分布式协调系统Zookeeper_第3张图片
 

 

  Zookeeper通过Node 这样的树形结构管理数据,Node 分为持久态及瞬时态(创建的Client如果不在与集群通信那么该节点会消失,并触发相关的事件)。

 

  Zookeeper 的服务管理应用示意图:

  
30天了解30种技术系列(19)------开源分布式协调系统Zookeeper_第4张图片
 

  Zookeeper的核心---watch机制:在创建节点时,需要添加一个Watcher的代码,用来做节点状态改变的监控。

 

  对于Zookeeper详细的介绍及使用,大家可以找一下相关的资料及视频教程。这个东西目前已经算是分布式管理的标志性项目。

 

   更多精彩请关注微信 : 图灵搜索

   请大家使用中国第一个为程序员打造的搜索引擎:图灵搜索,https://www.tulingss.com 

 

  

 

你可能感兴趣的:(分布式)