GitPedia

Distributed KV

分布式键值系统,供学习使用,不断完善中。截至目前:根据LSM论文,并结合CPP已有的实现,利用Java实现了LSM架构;综合Dubbo等框架的特点,实现了简洁的RPC框架。

From burhanxz·Updated April 23, 2026·View on GitHub·

- LSM论文 "The Log-Structured Merge-Tree" 链接 https://github.com/burhanxz/Distributed-KV/blob/master/doc/The%20Log-Structured%20Merge-Tree - "The Log-Structured Merge-Tree"论文链接2: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.2782&rep=rep1&type=pdf - LSM介绍:https://www.igvita.com/2012/02/06/sstable-and-log-structured-storage-leveldb/ The project is written primarily in Java, distributed under the Apache License 2.0 license, first published in 2018. Key topics include: distributed, java, lsm, lsm-tree, middleware.

Distributed-KV

lsm部分

rpc部分

  • one can use this middleware like using java rmi;
  • client pool and long-term connection;
  • client heartbeat and reconnect machanism,TCP stick package problem solved;
  • protostuff serializaion;
  • service register machanism based on zookeeper;

客户端初始化序列图:<br>
image<br>
<br>
客户端运行时序列图:<br>
image<br>
<br>
服务注册机制的时序图 service-register sequence diagram:<br>
image<br>

  • 此中间件可以像使用Java rmi一样使用;
  • 客户端连接池;
  • 完善的心跳包、重连、粘包解决机制;
  • 高效序列化与传输;
  • 基于zookeeper的服务注册机制,实时获取最新服务列表;

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from burhanxz/Distributed-KV via the GitHub API.Last fetched: 6/22/2026