1.Zookeeper-主从模式面临的问题,需解决3个主要问题:
1.主节点崩溃
2.从节点崩溃
3.通信故障
2.主节点崩溃解决思路:
1.需要一个备份主节点(backup master),
当primary master崩溃时,自动故障转移到backup master
2.当然获取primary master的状态不能从已经崩溃的master那里获取,
而是从zookeeper
3.但是还有一个问题:
若backup master 认为primary master 崩溃,但实际并没有(可能因为消息延迟)
backup master接管主节点工作,导致整个集群分为两个部分运行,
成为脑裂。
3.从节点崩溃解决思路:
1.从节点崩溃,所有派发给这个节点的未完成的任务都要重新派发。
2.需主节点有检测从节点崩溃的能力
4.通信故障:
1.若从几点和主节点网络连接断开,重新分配任务可能导致两个节点重复执行。
2.若允许任务多次执行,则不用验证是否完成任务
3.若不允许多次执行,用用需适应多个节点执行可能相同任务的环境。