Distributed-KV
Distributed-KV copied to clipboard
分布式键值系统,供学习使用,不断完善中。截至目前:根据LSM论文,并结合CPP已有的实现,利用Java实现了LSM架构;综合Dubbo等框架的特点,实现了简洁的RPC框架。
Distributed-KV
lsm部分
- 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/
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;
客户端初始化序列图:
客户端运行时序列图:
服务注册机制的时序图 service-register sequence diagram:
- 此中间件可以像使用Java rmi一样使用;
- 客户端连接池;
- 完善的心跳包、重连、粘包解决机制;
- 高效序列化与传输;
- 基于zookeeper的服务注册机制,实时获取最新服务列表;