SOFAJRaft基于?RAFT?一致性算法的 Java 實現(xiàn)
SOFAJRaft 是一個基于 RAFT 一致性算法的生產(chǎn)級高性能 Java 實現(xiàn),支持 MULTI-RAFT-GROUP,適用于高負(fù)載低延遲的場景。 使用 SOFAJRaft 你可以專注于自己的業(yè)務(wù)領(lǐng)域,由 SOFAJRaft 負(fù)責(zé)處理所有與 RAFT 相關(guān)的技術(shù)難題,并且 SOFAJRaft 非常易于使用,你可以通過幾個示例在很短的時間內(nèi)掌握它。
功能特性
- Leader 選舉
- 日志復(fù)制和恢復(fù)
- 快照和日志壓縮
- 集群線上配置變更,增加節(jié)點、刪除節(jié)點、替換節(jié)點等
- 主動變更 Leader,用于重啟維護,Leader 負(fù)載平衡等
- 對稱網(wǎng)絡(luò)分區(qū)容忍性
- 非對稱網(wǎng)絡(luò)分區(qū)容忍性
- 容錯性,少數(shù)派故障,不影響系統(tǒng)整體可用性
- 多數(shù)派故障時手動恢復(fù)集群可用
- 高效的線性一致讀,ReadIndex/LeaseRead
- 流水線復(fù)制
- 內(nèi)置了基于 Metrics 類庫的性能指標(biāo)統(tǒng)計,有豐富的性能統(tǒng)計指標(biāo)
- 通過了 Jepsen 一致性驗證測試
- JRaft 中包含了一個嵌入式的分布式 KV 實現(xiàn)
致謝
SOFAJRaft 是從百度的 braft 移植而來,做了一些優(yōu)化和改進,感謝百度 braft 團隊開源了如此優(yōu)秀的 C++ RAFT 實現(xiàn)
開源許可
SOFAJRaft 基于 Apache License 2.0 協(xié)議,SOFAJRaft 依賴了一些第三方組件,它們的開源協(xié)議也為 Apache License 2.0, 另外 SOFAJRaft 也直接引用了一些開源協(xié)議為 Apache License 2.0 的代碼(可能有一些小小的改動)包括:
評論
圖片
表情
