[笔记系列文章说明]: 该类型的文章是笔者学习过程中整理的学习笔记.
说明
zookeeper是一个分布式的,为分布式应用提供数据一致性服务的程序.
Zookeeper是怎么来的?
分布式系统: 是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过 消息传递 进行通信和协调的系统。
在这个消息传递的过程中遇到的问题: 传输中数据被篡改,数据丢失处理,数据超时处理,数据的事务控制,可以统称为数据的一致性问题.
解决分布式系统中数据传输的一致性问题的理论基础:CAID,CAP(一致性,可用性,分区容错性),BASE等一致性方面的理论
结合理论基础,演变出分布式数据一致性协议算法,如2PC,3PC,Raft ,Paxos算法等.
解决消息传递过程中的两个问题:
1,消息传递中的消息篡改,消息容错机制
拜占庭将军问题:
拜占庭帝国有许多支军队,不同军队的将军之间必须制定一个统一的行动计划,从而做出进攻或者撤退的决定,同时,各个将军在地理上都是被分隔开来的,只能依靠军队的通讯员来进行通讯。然而,在所有的通讯员中可能会存在叛徒,这些叛徒可以任意篡改消息,从而达到欺骗将军的目的。
解决方式:比如系统中的数字签名,数据加密


