#清磁盘啦~,CSDN“网盘”真好用,感谢CSDN~ Cloud Computing lab,本项目是基于自构建的web服务器以及应用了raft协议的分布式kv-store搭建起来的简单选课系统,其中web服务器是基于线程池+epoll技术实现的,达到一定程度的并发,分布式kv-store是基于eBay/Nuraft实现的分布式数据库集群。
2022-10-08 15:01:13 7.97MB web服务器 分布式 kvstore
1
kvstore ##背景 这是课程CS162的项目,分布式KV存储, 由C语言编写 ##技术要点 网络请求服务:采用线程池加阻塞IO完成 缓存系统:采用LRU的淘汰策略 磁盘存储:每一项数据存储在一个文件中,存储数据的二进制格式 一致性算法: 采用二阶段提交协议 负载均衡算法: 一致性哈希,多副本存储 ###模块设计 kvstore主要结构为主从结构,包括Master和Slave节点,每一个存储节点包括网络请求模块,数据存储模块,包括内存中的缓存和磁盘中的数据。Master节点 包括缓存,但不进行磁盘存储,同时进行请求转发。Slave节点包括缓存和磁盘存储。 ####网络请求 网络请求模块采用的是线程池加阻塞IO,算是比较低效的部分。可以使用事件循环和回调提高网络请求效率。请求由4字节的消息长度加消息内容组成。 ####缓存 缓存使用的是LRU淘汰策略。 ####存储 kvstor
2022-05-24 23:45:51 53KB C
1