分佈式共識算法 (一) 背景html
一致性是分佈式領最重要的問題。一致性不表明結果的正確與否,而是分佈式系統的多個物理節點的處理結果對外呈現的狀態一致與否。例如全部節點都達成失敗狀態也是一種一致性。性能
一致性描述的是結果狀態,共識則是一種手段。達成某種共識並不意味保障了一致性。Paxos就是一種共識算法。url
大致能夠分爲兩類算法spa
1.CFT(Crash Fault Tolerance):不僞造信息的非拜占庭錯誤,表明算法是Paxos、Raft,特色是性能好,容忍不超過一半的故障節點。 htm
2.BFT(Byzantine Fault Tolerance):僞造信息的拜占庭錯誤,特色是性能差,容忍不超過1/3的故障節點。兩類表明:blog
特殊的:XFT(Cross Fault Torelrance)等算法能夠提供相似CFT的處理性能,並能在大多數節點正常工做時提供BFT保障。get