分布式

分布式系统的Raft算法(转)

过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。

来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。

在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。这样就需要一种Consensus协议,一致性协议是为了确保容错性,也就是即使系统中有一两个服务器当机,也不会影响其处理过程。

继续阅读

一种简单的分布式存储系统

三层架构(MetaNodeMonitor+MetaNode+DataNode),核心是下面两层(MetaNode+DataNode),下面两层是可以脱离Monitor独立运行。

Monitor的存在主要是作为一个MetaNode的监控和MetaNode出错时进行切换角色,并且通知DataNode进行切换。

DataNode在获取主MetaNode的Ip后进行本地缓存,不需要主动询问Monitor,而且DataNode还可以主动从任意MetaNode获取主MetaNode的IP信息。

MetaNode作为整个系统的大脑,存储所有的文件元信息,这一点和HDFS的NameNode是有点类似的,但是MetaNode做了主备和自动切换设计,相对有更高的可用性。

继续阅读