26 Star 141 Fork 81

SOFAStack / sofa-jraft

 / 详情

[SoC] Add Segment Log Storage Index module, remove dependency on rocksdb

待办的
创建于  
2020-05-25 10:48

Introduction

SOFAJRaft is a production-level, high-performance Java implementation based on the RAFT consistency algorithm that supports MULTI-RAFT-GROUP for high-load, low-latency scenarios. With SOFAJRaft you can focus on your business area. SOFAJRaft handles all RAFT-related technical challenges. SOFAJRaft is very user-friendly, which provides several examples, making it easy to understand and use

Target

The current implementation of LogStorage adopts the design of separate index and data. We write the offset and key as the index into rocksdb, and write the log entry (data) into Segnemt Log Files, because users who use SOFAJRaft often also use different versions of rocksdb , Which requires users to have to replace their own rocksdb version to adapt to SOFAJRaft, so we hope to make an improvement: remove the dependency on rocksdb and build a java implementation index module.

简介

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

目标

当前 LogStorage 的实现,采用 index 与 data 分离的设计,我们将 key 和 value 的 offset 作为索引写入 rocksdb,同时日志条目(data)写入 Segnemt Log,因为使用 SOFAJRaft 的用户经常也使用了不同版本的 rocksdb,这就要求用户不得不更换自己的 rocksdb 版本来适应 SOFAJRaft, 所以我们希望做一个改进:移除对 rocksdb 的依赖,构建出一个纯 java 实现的索引模块。

评论 (0)

潘潘 创建了任务
潘潘 关联仓库设置为SOFAStack/sofa-jraft
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
Java
1
https://gitee.com/sofastack/sofa-jraft.git
git@gitee.com:sofastack/sofa-jraft.git
sofastack
sofa-jraft
sofa-jraft

搜索帮助

14c37bed 8189591 565d56ea 8189591