分布式设计(二)协调与同步
分布式互斥 对排他性的资源访问方式,称为分布式互斥。而这种被互斥访问的排他性资源,就叫做临界资源 如何访问 霸道总载:集中式算法 优点:直观、简单,信息交互量少、易于实现 问题:协调者会成为系统性能瓶颈;单点故障 增加主备备分,应用比较广泛 民主协商:分布式算法 先到先得、投票全票通过机制 适合节点数量少且变动不频繁的系统,且由于每个程序均需通信交互,适合P2P系统 应用场景:Hadoop 轮值CEO:令牌环算法 更加公平的算法 非常适合通信模式为令牌环方式的分布式系统 场景:移动自组织网络,无人机通信 分布式选举 集群多节点组成,多个节点到底怎么协同,怎么管理。 主节点:在一个集群中负责对其他节点的协调和管理,可以保证其他节点有序运行,数据一致性。 选举算法 长者为大:Bully算法 民主投票:Raft 算法 优先级的民主投票:ZAB算法 多数派选主算法通常采用奇数节点:ZooKeeper 、etcd、Kubernetes 分布式共识 分布式共享地就是在多个节点均可独自操作或记录的情况下,使用得所有节点针对某个状态达成一致的过程 分布式共识的本质就是“存异求同” 从本质上看,分布式选举问题,其实就是传统的分布式共识方法,主要基于多数投票策略实现的。 分布式在线记帐,是指在没有集中的发行方,也就是没有银行参与的情况下,如何保证交易的一致性。 PoW (Proof of Work)