Gitee-基于C++的分布式缓存系统
在云计算时代,全球的数据存储量以平均每年30%的速度不断增长,如何有效提高数据的访问速度成为研究的热点内容。缓存系统作为应对热数据访问的有效补充,能够及时保存最近上传的热数据,从而大大提升系统的响应速度,在数据存储方面的重要性逐渐增大。
本项目旨在实现一款基于C++的分布式缓存系统,能够具有基础的数据读写、分布获取、状态上报功能,同时具备容灾能力,使系统长时稳定工作。为此,项目组设计了多Master、多Cache Server以及若干Client并存的分布式缓存架构,并具备以下功能:
(1)单个Cache Server采用LRU机制保存指定数量的Key,并主动淘汰多余的Key,同时使用基于epoll和线程池的架构高并发地进行数据收发;
(2)Client端能生成随机数据并写入Cache Server或拉取keylist文件中的key并向Cache Server请求对应数据,同时Cache Server收到数据将数据进行备份处理(发送到备份Cache Server);
(3)Client端在本地缓存获取Cache Server失败或数据超时的情况下,会向Master请求分布,拉取最新的Cache Server节点分布信息。
(4)Client和Cache Server使用一致哈希算法实现负载均衡,避免热点问