
zookeeper
ThunderWay
北京工业大学计算机研究生就读
展开
-
当zookeeper作为Dubbo的注册中心时,是如何工作的?
Zookeeper作为Dubbo的注册中心:Container负责启动,加载服务提供者Provider,Provider会在Zookeeper下的Dubbo节点下的providers节点下创建一个子节点并写入URL,该路径下的所有子节点都是服务提供者Provider,此时这些子节点为临时节点,一旦机器出现故障无法提供服务,节点就会随着会话的结束而删除。Provider、Registry和Consumer是基于长连接的,一旦机器故障,注册中心会告诉消费者Consumer,而且监控中心是Dubbo重要的一部分,原创 2020-08-13 16:33:47 · 643 阅读 · 0 评论 -
简述一下zookeeper集群的fastleaderelection选举leader的算法
每个节点由zxid和myid,生成的选票为(myid,zxid),分为两步:启动时选票和运行时选票。1. 首先每个节点初始化自己的选票,就是自己投自己(myid,zxid)。2.原创 2020-08-12 16:43:25 · 199 阅读 · 0 评论 -
zookeeper如何保证数据的一致性?
1. 保证数据的一致性有两种情况:第一是故障恢复阶段的数据同步,即新leader选举之后的数据同步;第二是leader处理完事务请求与follower保持数据同步。2.1 故障恢复阶段的数据同步:leader为每个follower准备一个队列,将没有被同步的事务以proposal请求形式放入队列,然后对每个事务请求追加一个commit请求,表示该事务被提交,完成数据的同步。2.2 leader处理事务请求与follower保持数据同步:...原创 2020-08-11 17:03:03 · 773 阅读 · 0 评论 -
zookeeper集群中某个机器挂了,集群该如何处理?
看挂掉的是leader还是follower,如果是leader,则进行新leader的选举,如果是follower,还有其他节点可以提供服务,因为zookeeper集群中的数据每个节点上都有一份副本。原创 2020-08-11 16:51:28 · 2450 阅读 · 0 评论 -
简述zab协议和zookeeper
zookeeper它是为分布式的应用提供了一个高效可靠的一个分布式协调服务。它的实现依赖zab协议,用来保证数据的一致性。zookeeper使分布式应用可以通过一个共享的树形结构的命名空间实现协调,zookeeper将所有的数据存储在内存中,zookeeper集群中的任何一台机器都可以响应客户端的读操作,zookeeper更适合读操作为主的业务场景。zookeeper集群包括三种角色:leader、follower和observer。其中leader是通过选举出来的,为客户端提供读写操作,主要用来处理事务操原创 2020-08-11 16:32:36 · 291 阅读 · 0 评论 -
简述paxos算法
paxos算法是基于消息传递来解决多个提案统一值的一致性问题的一个协议。该算法的前提是不存在拜占庭将军问题。paxos算法包括三种角色:proposer、learner和acceptor。proposer负责提出提案,acceptor负责对提案进行裁决,learner负责学习得到的提案,为了避免单点故障,用acceptor集群。主要过程如下:主要两部分,prepare阶段和accept阶段。prepare阶段:proposer提出编号为Mn的提案,发送给acceptor结合,acceptor作出两个反馈原创 2020-08-11 16:47:18 · 588 阅读 · 0 评论