• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

sofa-jraft: SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,支持 M ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

sofa-jraft

开源软件地址:

https://gitee.com/sofastack/sofa-jraft

开源软件介绍:

SOFAJRaft

buildLicenseMaven Central

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

功能特性

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

需要

编译需要 JDK 8 及以上、Maven 3.2.5 及以上。

文档

如何贡献

如何参与 SOFAJRaft 代码贡献

致谢

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 高效的编码/解码

社区

  • 微信公众号

已知用户

此处列出了已知在生产环境使用了 SOFAStack 全部或者部分组件的公司或组织,大家可以通过 SOFAStack 使用者登记进行登记。以下排名不分先后:

蚂蚁集团网商银行恒生电子数立信息Paytm天弘基金中国人保信美相互南京银行民生银行重庆农商行中信证券富滇银行挖财拍拍贷OPPO金融运满满译筑科技杭州米雅信息科技邦道科技申通快递深圳大头兄弟文化烽火科技亚信科技成都云智天下科技上海溢米辅导态赋科技风一科技武汉易企盈极致医疗京东小象生鲜北京云族佳欣亿云网山东网聪深圳市诺安赛威上扬软件长沙点三网易云音乐虎牙直播中国移动无纸科技黄金钱包独木桥网络wueasy北京攸乐科技易宝支付威马汽车亿通国际新华三klilalagroup

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap