Giter VIP home page Giter VIP logo

lql-raft-kv's Introduction

lql-raft-kv

简介

这是一个Java实现的基于Raft算法的分布式KV存储。

主要技术:Java、RocksDB、GRPC

主要目的:

  1. 自己实现,便于深入了解Raft协议;

  2. 便于大家用于学习Raft协议

大家有问题交流或者程序有bug也可以提issue🥰

已完成内容

  1. leader选举
  2. 日志追加
  3. 日志复制

TODO

  1. 增删节点
  2. 日志压缩
  3. 丰富状态机接口

以后或者进行一些奇奇怪怪的优化

启动

idea启动

  1. maven:先加载maven依赖,然后在plugins的protobuf插件中使用compilecompile-custom命令生成对应的protobuf类
  2. config.yml配置:写入对应节点的address数组(可包含自身节点)
  3. idea中配置:
    • 添加对应个数的application启动项
    • VM options添加参数:-Dserver.port=8000(即当前节点的rpc启动端口)

特别鸣谢

  1. 感谢莫那鲁道的 lu-raft-kv 项目 https://github.com/stateIs0/lu-raft-kv

    学习过程中,部分参考了大佬的代码

  2. 感谢maemual的 raft-zh_cn 仓库 https://github.com/maemual/raft-zh_cn

    论文中文翻译对一个英文不好的人真是太友好啦😆😆,有些地方还是会去看原文

lql-raft-kv's People

Contributors

l7l9 avatar

Stargazers

Rawven avatar  avatar

Watchers

 avatar

lql-raft-kv's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.