Skip to content

upeven/SCache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCache

SCache:基于内存的分布式缓存服务

简介

这是一个基于内存的缓存服务,采用HTTP和TCP双协议进行客户端服务端交互,HTTP主要用来管理查询服务端状态,而TCP协议主要用来进行缓存操作。

NOTE:不可用于生产环境,可以用来学习缓存的相关知识。欢迎大家fork到自己的仓库,一起完善这个项目。

项目架构

Scache架构

项目特点

0、采用CS架构

1、基于内存的高速缓存服务

2、基于RocksDB的可持久化实现

3、客户端支持tcp的pipline技术,提升客户端的发送速度

4、支持http/tcp双协议,http用来管理服务端,tcp用来进行业务操作

5、服务端支持基于RocksDB的批量写入技术,增加服务端的rps

6、基于服务端异步技术提升单个链接的响应能力,主要提升GET操作(使用channel)

7、缓存集群的实现(高可用、高可靠),节点之间通过gossip协议互相更新状态,使用一致性散列(虚拟)实现,是一个AP分布式系统,无法保证强一致性

8、实现了自动扩缩容机制

9、为键值对设置过期时间,以达到内存的可复用

快速开始

待完成


项目依赖:

1、github.com/hashicorp/memberlist(一个开源的gossip协议库)

2、statthat.com/c/consistent(使用Go语言写的开源一致性散列库)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages