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

来源:投稿
作者: SOFAStack
2020年06月19日

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 组件 JRaftServiceLoader 改为延迟加载策略规避多余对象的创建
    • 几个 corner case 修复,比如 replicate logs 如果比 appliedIndex(follower)更小,那么可以认为是成功的,更多见 #462
    • 关闭Recyclers 时的 IndexOutOfBoundsException 问题修复 #463
  • Breaking Changes

  • 致谢(排名不分先后)
    @shibd
    @SteNicholas
    @killme2008
    @zongtanghu

SOFAJRaft 简介

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

功能特性

  • Leader 选举
  • 日志复制和恢复
  • 快照和日志压缩
  • 集群线上配置变更,增加节点、删除节点、替换节点等
  • 主动变更 Leader,用于重启维护,Leader 负载平衡等
  • 对称网络分区容忍性
  • 非对称网络分区容忍性
  • 容错性,少数派故障,不影响系统整体可用性
  • 多数派故障时手动恢复集群可用
  • 高效的线性一致读,ReadIndex/LeaseRead
  • 流水线复制
  • 内置了基于 Metrics 类库的性能指标统计,有丰富的性能统计指标
  • 通过了 Jepsen 一致性验证测试
  • JRaft 中包含了一个嵌入式的分布式 KV 实现
展开阅读全文
14 收藏
分享
加载中
最新评论 (9)
请问,满足cap里的cp还是ap?
2020-06-20 07:06
0
回复
举报
cp
2020-06-24 11:32
0
回复
举报
raft 可以独立在 SOFA 外面用吗?
2020-06-19 18:48
0
回复
举报
可以的
2020-06-24 11:32
0
回复
举报
您好,请问蚂蚁金服不用SpringCloud用自己开发的框架整合吗?
2020-06-19 18:00
0
回复
举报
我们有 SOFABoot
2020-06-19 20:15
0
回复
举报
这种东西的使用,都要先理解了才行啊
2020-06-19 17:22
0
回复
举报
这东西到底做什么用的?
2020-06-19 17:15
0
回复
举报
一种强一致性分布式算法,跟硬盘的raid5实现的东西差不多
2020-06-19 21:58
0
回复
举报
更多评论
9 评论
14 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部