什么是Zookeeper?百科上面怎么说的?
Zookeeper 是由 Apache 的一个顶级项目, 主要用来做分布式集群服务的注册与发现。
意思是新建一个服务了,把它"写入"
Zookeeper。然后服务有什么变动或者故障啦,它也能通过某种机制及时“发现”
。从而告诉其他小伙伴,这个服务不可用啦,不要去调它啦,Zookeeper就是专门干这样的事。
Zookeeper听说有个session机制,如何理解?
启动一个客户端,这个客户端初始化的时候就会connecting,连上了客户端就会处于connected的状态。这样就建立了一个session,然后通过心跳机制(客户端向服务端定时发送ping请求)保持session。如果检查心跳结束,即没人ping啦,那肯定知道是这个服务死了,就会设置session为过期,把这个节点的所有数据清掉。Zookeeper服务端就是通过这种方式来知道客户端是否还活着的。
只有leader才有权写入,follower只能读取,然后通过某种方式同步一下数据。
Zookeeper集群什么时候才要选举?以及选举决议的办法?