文件名称:kvstore:公开课CS162的分布式KV存储项目
文件大小:53KB
文件格式:ZIP
更新时间:2024-05-23 03:19:02
C
kvstore ##背景 这是课程CS162的项目,分布式KV存储, 由C语言编写 ##技术要点 网络请求服务:采用线程池加阻塞IO完成 缓存系统:采用LRU的淘汰策略 磁盘存储:每一项数据存储在一个文件中,存储数据的二进制格式 一致性算法: 采用二阶段提交协议 负载均衡算法: 一致性哈希,多副本存储 ###模块设计 kvstore主要结构为主从结构,包括Master和Slave节点,每一个存储节点包括网络请求模块,数据存储模块,包括内存中的缓存和磁盘中的数据。Master节点 包括缓存,但不进行磁盘存储,同时进行请求转发。Slave节点包括缓存和磁盘存储。 ####网络请求 网络请求模块采用的是线程池加阻塞IO,算是比较低效的部分。可以使用事件循环和回调提高网络请求效率。请求由4字节的消息长度加消息内容组成。 ####缓存 缓存使用的是LRU淘汰策略。 ####存储 kvstor