20 Star 89 Fork 47

SOFAStack / sofa-jraft

 / 详情

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

Backlog
Opened this issue  
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 实现的索引模块。

Comments (0)

潘潘 created任务
潘潘 set related repository to SOFAStack/sofa-jraft
Expand operation logs

Sign in to comment

Status
Assignees
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(1)
Java
1
https://git.oschina.net/sofastack/sofa-jraft.git
git@git.oschina.net:sofastack/sofa-jraft.git
sofastack
sofa-jraft
sofa-jraft

Search