14 Star 70 Fork 35

SOFAStack / sofa-jraft

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

Open
潘潘  Opened this issue

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

total 1 participants

Comments (0)

Sign in to comment

Assignees
Labels
Not set
Projects
Milestones
Branches
Planed to start
Not set
Planed to end
Not set
Top level
Priority
Java
1
https://git.oschina.net/sofastack/sofa-jraft.git
git@git.oschina.net:sofastack/sofa-jraft.git
sofastack
sofa-jraft
sofa-jraft

Search