SOFAJRaft 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
SOFAJRaft 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache-2.0
开发语言: Java
操作系统: 跨平台
开发厂商: 蚂蚁金服
收录时间: 2019-04-23
提 交 者: 章耿

SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。 使用 SOFAJRaft 你可以专注于自己的业务领域,由 SOFAJRaft 负责处理所有与 RAFT 相关的技术难题,并且 SOFAJRaft 非常易于使用,你可以通过几个示例在很短的时间内掌握它。

功能特性

  • Leader 选举
  • 日志复制和恢复
  • 快照和日志压缩
  • 集群线上配置变更,增加节点、删除节点、替换节点等
  • 主动变更 Leader,用于重启维护,Leader 负载平衡等
  • 对称网络分区容忍性
  • 非对称网络分区容忍性
  • 容错性,少数派故障,不影响系统整体可用性
  • 多数派故障时手动恢复集群可用
  • 高效的线性一致读,ReadIndex/LeaseRead
  • 流水线复制
  • 内置了基于 Metrics 类库的性能指标统计,有丰富的性能统计指标
  • 通过了 Jepsen 一致性验证测试
  • JRaft 中包含了一个嵌入式的分布式 KV 实现

致谢

SOFAJRaft 是从百度的 braft 移植而来,做了一些优化和改进,感谢百度 braft 团队开源了如此优秀的 C++ RAFT 实现

开源许可

SOFAJRaft 基于 Apache License 2.0 协议,SOFAJRaft 依赖了一些第三方组件,它们的开源协议也为 Apache License 2.0, 另外 SOFAJRaft 也直接引用了一些开源协议为 Apache License 2.0 的代码(可能有一些小小的改动)包括:

  • JCTools 中的 NonBlockingHashMap/NonBlockingHashMapLong
  • Netty 中的 HashedWheelTimer,另外还参考了 Netty 的 Pipeline 设计
  • Protobuf 中对 UTF8 String 高效的编码/解码
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

SOFAJRaft 的相关博客

SOFAJRaft Snapshot 原理剖析 | SOFAJRaft 实现原理

SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架...

SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理

SOFAStack (Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架...

SOFAJRaft-RheaKV 是如何使用 Raft 的 | SOFAJRaft 实现原理

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构...

SOFAJRaft-RheaKV 是如何使用 Raft 的 | SOFAJRaft 实现原理

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构...

SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构...

SOFA Weekly | SOFAJRaft 发布、SOFAJRaft 源码解析文章合集

SOFA WEEKLY | 每周精选,筛选每周精华问答 同步开源进展,欢迎留言互动 SOFAStack(Scalable Open Financial Architecture ...

SOFAJRaft 日志复制 - pipeline 实现剖析 | SOFAJRaft 实现原理

SOFAStack(Scalable Open Financial Architecture Stack) 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架...

SOFAJRaft 线性一致读实现剖析 | SOFAJRaft 实现原理

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构...

SOFAJRaft 线性一致读实现剖析 | SOFAJRaft 实现原理

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构...

SOFAJRaft-RheaKV 分布式锁实现剖析 | SOFAJRaft 实现原理

SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架...

SOFAJRaft 的相关问答

还没有任何问答,马上提问

评论 (4)

加载中
为什么阿里如此优秀
2019/11/29 19:39
回复
举报
干啥用的?
2019/11/15 23:10
回复
举报
raft库 你可以理解为帮你同步多个节点间想共享的数据的分布式同步通信库
07/13 22:46
回复
举报
很好很强大
2019/11/15 23:04
回复
举报
更多评论
4 评论
43 收藏
分享
返回顶部
顶部