分布式相关名词

网络分区(脑裂)
在集群的情况下,一般只会选举一个master节点、其他都是为从节点,那么如果发生了网络抖动或者部分节点相互无法通讯那么就会导致部分节点从新选举,这样就会存在多个master节点;

CAP概念
① C:Consistency 一致性
② A:Availability  可用性
③ P:Partition 容错分区

 

首先在Zookeeper中分为三种角色:
1. Leader(领导) Zookeeper集群中的主节点、负责写的请求操作;
2. Follower(跟随者) 是领导(Leader)角色根随着,出读取操作还可以实现对Leader提议与选举
3. Observer 如果后期当我们在扩展ZK集群节点时如果角色为Follower越来越多会导致选举的时间越来越长,所以Observer角色和Follower角色很相似,只是obServer不能够参与Leader角色选举;
增加obServer的作用主要不影响原来本身选举的时间效率、目的是提高客户端读的请求效率;

Zookeeper数据实现同步原理
1. 所有follower节点写的请求统一交个leader实现,并且创建一个全局zxid(事务id)
2. Leader节点在第一阶段通知阶段,会带上zxid向每位follower节点发出确认同步通知
3. 只要有过半数的follower节点确认同步ack,这时候leader就会向所有的follower发出commit事务数据提交;

posted on 2020-03-15 19:17  JAVA-ROAD  阅读(193)  评论(0)    收藏  举报

导航