把节点分两种,Leader(主)和Follower(从)。 有一个主节点,全部写操做所有经过节点进行处理,若是一个从节点收到了一个写操做请求,就会转给主节点处理。 其余节点都是从节点,能够经过从节点进行读操做。 主节点经过选举得出,主节点失踪后,其余从节点自动开始选举新的主节点。html
Raft将一致性的问题分解为了三个问题:git
Gossip协议如其名,流行病协议,一个节点有状态须要更新到网络的其它节点的时候,它会随机的选择周围的几个节点散播消息,收到消息的节点会重复这个过程,直到网络中全部的节点都收到了消息。这个过程须要必定的时间,消息之间的传递具备必定的延迟性。可是理论上全部的节点都会收到全部的消息,所以它是一个最终一致性消息。github
Lease 是由颁发者授予的在某一有效期内的承诺。颁发者一旦发 出 lease,则不管接受方是否收到,也不管后续接收方处于何种状态,只要 lease 不过时,颁发者一 定严守承诺;另外一方面,接收方在 lease 的有效期内可使用颁发者的承诺,但一旦 lease 过时,接 收方必定不能继续使用颁发者的承诺。redis
我对这些分布式协议目前了解的还不够透彻,后面再进行研究算法