SOFAJRaft 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
SOFAJRaft 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
SOFAJRaft 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
SOFAJRaft 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
SOFAJRaft 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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 指数为
超过 的项目

评论 (4)

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

SOFAJRaft v1.3.3 发布,蚂蚁金服生产级高性能 Java 实现

SOFAJRaft v1.3.3 发布了,本期发布内容 Features RheaKV 允许不同分片各自配置不同的 learner 节点 #486 在只有一个成员变更的情况下,仍然使用 raft 联合一致性算法 #482 替换基于 GPL-2.0 licence 的 Bits.java #474 #477 升级 jackson.databind 版本到 2.10.4 已修复安全漏洞 #470 Bug Fixes 修复在 node panic 后可能因为未及时刷盘导致快照元数据丢失的 bug #480 #481 Breaking Changes 无 致谢(排名不分先后) @zongtan...

2
19
2020/06/19 14:36

SOFAJRaft v1.3.2 发布,蚂蚁金服生产级高性能 Java 实现

SOFAJRaft v1.3.2 发布了,本期发布内容 Features 抽象出网络通信层,增加 GRPC 实现并支持 Replication Pipeline,用户亦可自行对通信层进行其他实现的扩展 #433 RheaKV 增加 reverseScan API #422 提供 Replicator 与 RPC 的线程池隔离,避免相互影响 read-index 线性一致读请求提供请求超时(timeout)配置 #465 Bug Fixes 移除对 bolt address parser 的扩展,避免 check connection 返回结果不符合预期 SPI 组件 JRaftSer...

9
14
2019/04/24 14:17

SOFAJRaft v1.2.5 发布,蚂蚁金服生产级高性能 Java 实现

SOFAJRaft v1.2.5 发布了,本期发布内容 Bug 修复 修复 rheakv rocksdb 存储实现在启动时没有删除数据的问题,会导致非幂等操作出现不一致,比如 getSequence 跳跃 新功能 优化了 multi-raft-group 的 snapshot #42 Breaking Changes 无 SOFAJRaft 简介 SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。 使用 SOFAJRaft 你可以专注于自己的业务领域,由 SOFA...

3
13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于软件架构专区
2019/09/24 09:32

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

> **SOFAStack**(**S**calable **O**pen **F**inancial **A**rchitecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 ![SOFAJRaft Snapshot 原理剖析](https://cdn.nlark.com/yuque/0/2019/png/226702/1568785845326-d38f65f4-c0db-41b7-a53f-a76b31cb42f9.png) SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULT...

0
0
发表于开发技能专区
2020/01/21 09:49

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

SOFAStack (Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFAJRaft 实现原理》第四篇,本篇作者力鲲,来自蚂蚁金服《剖析 | SOFAJRaft 实现原理》系列由 SOFA 团队和源码爱好者们出品,项目代号:<SOFA:JRaftLab/>,目前领取已经完成,感谢大家的参与。 SOFAJRaft 是一个基于 Raft 一致...

0
0
发表于服务端专区
2019/07/10 10:32

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

> **SOFA**Stack > **S**calable **O**pen **F**inancial **A**rchitecture Stack > 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 ![默认标题_2019-07-09-0.png](https://cdn.nlark.com/yuque/0/2019/png/226702/1562658853121-9d38757a-0c4d-4c6f-902e-5c8ac83cf5b0.png#align=left&display=inline&height=383&name=%E9%BB%98%E8%AE%A4%E6%A0%87%E9%...

0
0
发表于开发技能专区
2020/02/26 20:27

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

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFAJRaft 实现原理》第二篇,本篇作者米麒麟,来自陆金所。《剖析 | SOFAJRaft 实现原理》系列由 SOFA 团队和源码爱好者们出品,项目代号:<SOFA:JRaftLab/>,目前领取已经完成,感谢大家的参与。 SOFAJRaft 是一个基于 Raft 一致...

0
0
2019/05/24 17:51

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

> **SOFA**Stack > **S**calable **O**pen **F**inancial **A**rchitecture Stack > 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 ![SOFAJRaft-2.png](https://cdn.nlark.com/yuque/0/2019/png/226702/1558603728961-e28bad7b-9702-4709-b604-43150c25e0a0.png#align=left&display=inline&height=383&name=SOFAJRaft-2.png&originHeight=383&originW...

0
1
发表于软件架构专区
2020/10/16 16:42

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

SOFA WEEKLY | 每周精选,筛选每周精华问答 同步开源进展,欢迎留言互动 SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金...

0
0
发表于开发技能专区
2019/08/07 09:41

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

> **SOFAStack**(**S**calable **O**pen **F**inancial **A**rchitecture Stack) > 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。 本文为《剖析 | SOFAJRaft 实现原理》第六篇,本篇作者徐家锋,来自专伟信息,力鲲,来自蚂蚁金服...

0
0
2019/07/02 10:38

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

> **SOFA**Stack > **S**calable **O**pen **F**inancial **A**rchitecture Stack > 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 ![SOFAJRaft 线性一致读实现剖析.png](https://cdn.nlark.com/yuque/0/2019/png/226702/1561951600521-5e47b045-2428-4ffc-a1b0-112f8e75c3ca.png#align=left&display=inline&height=383&name=SOFAJRaft%20%E7%BA%BF%E6...

0
0
2020/02/25 10:29

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

SOFAStack Scalable Open Financial Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFAJRaft 实现原理》第三篇,本篇作者米麒麟,来自陆金所。《剖析 | SOFAJRaft 实现原理》系列由 SOFA 团队和源码爱好者们出品,项目代号:<SOFA:JRaftLab/>,目前领取已经完成,感谢大家的参与。 SOFAJRaft 是一个基于 Raft 一致...

0
0
2019/09/18 11:17

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

> **SOFAStack**(**S**calable **O**pen **F**inancial **A**rchitecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 ![SOFAJRaft-RheaKV 分布式锁实现剖析](https://cdn.nlark.com/yuque/0/2019/png/226702/1568253373833-1a1fa26d-ff1c-4ead-9390-b833d568d9e9.png) SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
4 评论
62 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部