zookeeper--概述

鸡汤:

  某些你认为简单的事,如果不是你肤浅的理解,那么就是你已经深入的了解了它。

  自己会的东西,就简单。

  我之前看zookeeper,只能看到它与dubbo的配合使用,也就是用zk的命名服务,肤浅到不行。

zookeeper的主要功能:(我所能看见的)

  1、命名服务

    原理是根据zk的文件系统也就是类似于Linux的文件系统。

  2、配置管理

    程序总是需要配置文件的,如果将程序分布式到多个系统中,但是需要同一个配置文件,那么就可以使用zk的配置文件管理。可以设置程序对文件进行监听(watcher),一旦该配置文件发生变化,就可以通知到相应的程序,让程序进行相应的处理。

  3、集群管理

    管理机器的上下线,master的选举等。

  4、分布式锁

    进程内加锁,很方便。但是进程间如何使用锁呢?这时就需要分布式锁了。可以协调系统间的锁,比如两个系统,需要并发修改同一个资源,那么此时分布式锁就排上用场了。

  5、watcher机制的原理

    待补充。。。

服务器的角色

  1、Leader  整个zookeeper 集群的核心

    1.1、事务请求的唯一调度和处理者,保证集群事务处理的顺序性。

    1.2、集群内部各服务器的调度者。

  2、Follower 跟班

    2.1、处理客户端非事务请求,转发事务请求给Leader服务器。

    2.2、参与事务请求Proposal的投票。

    2.3、参与Leader的选举。

  3、Observer 观察者

    类似Follower,区别是 不参与选举,即不参与投票且不能成为Leader。仅负责同步Leader的状态,并且处理读请求,作负载用。

原文地址:https://www.cnblogs.com/chen--biao/p/9993942.html