SOFAJRaft 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SOFAJRaft 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SOFAJRaft 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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 指数为
超过 的项目

评论

点击加入讨论🔥(4)
发表于开发技能专区
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
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
4 评论
64 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部