单点故障问题
一个服务阻塞或者挂机导致其余服务都不可用的情况就是单点故障。
分布式系统中的单点故障,分布式系统通常采用主从模式,一个主控机连接多个处理节点,当主节点出现问题导致整个系统出现瘫痪。
解决单点故障需要用到分布式锁来解决,zookeeper是一种分布式锁的解决方案
Zookeper
既是一个服务注册于发现框架也是分布式协调技术;
为啥需要分布式锁
防止分布式系统中多个进程相互干扰;需要通过分布式协调技术进行调度,其核心就是实现一个分布式锁;
Master选举
这些主节点首先向zookeeper注册,首先进行编号,编号最小的成为主节点;主节点挂了,所注册的节点自动从zookeeper中删除,剩下编号最小的自动成为主节点;“多主问题”“
什么是zookeeper”
zookeeper是服务注册与发现中心,主要用来解决分布式锁的问题,解释一下单点故障问题,分布式系统中本来有一个主服务器下面有若干个从服务器,主服务器出现问题,从服务器因为主服务器无法工作;分布式锁就是用来解决单点故障问题;传统解决方案是一个主节点一个备用节点,备用节点定时会ping主节点,ping不通取代主节点,但网络震荡容易造成丢包,出现双主问题;为了解决这个问题我们引入了分布式锁技术而zookeeper就是为了解决分布式锁问题;
即所有的服务启动的时候都要向zookeeper注册,zookeeper维护了一个节点列表,zookeeper会来选举谁成为主节点,编号最小成为主节点,剩下的备用节点成阻塞状态,主节点出现问题直接从注册列表中删掉,备用节点由zookeeper继续选举,重新产生主节点,原来主节点如果没问题会重新注册成新的主节点。