基于HTTP RESTful风格的kv内存数据库——ware-kv
做这个的理由
- 市面上还没有RESTful风格的kv内存数据库
- 对标redis(最主流的开源kv内存数据库),但有它没有的东西:
- 通过统一的HTTP RESTful接口,不需要配套相关SDK
- 提供真正的消息队列能力,而不只是模拟
- 集成布隆过滤器抵挡缓存异常情况
- 提供真正的分布式锁能力,而不只是模拟
- 配套web端的平台工具,包含操作使用和性能监控
- 提供双写一致性保证(MySQL)
- 顺便完成毕业设计
😊
核心
集成了常用的中间件与常见问题解决方案于一身的kv数据库
想法来源
- ES的风格
- 七零八落的各种中间件
基本
(单体)
- 支持多种数据类型
- string
- counter(计数器)
- list
- sort-list
- object
- set
- bitmap
- 支持持久化,保证crash-safe(崩溃恢复能力)
- 逻辑日志 - 检查点
- 物理日志 - 快照
- 提供轻量级消息队列能力(生产者-消费者模型)
- 提供发布/订阅机制(设立注册中心,以做回调)
- 集成布隆过滤器(bitmap)
- 提供与MySQL配套的双写一致性保证(解决缓存一致性问题)
- 允许设定kv有效期(时间到了做惰性删除)
- 支持缓存淘汰策略,开放定制化接口
- 配套使用平台(web)
- 编辑器(http)
- 点击控件(ui)
- 性能监控工具(可视化)-使用情况
- 提供分布式锁能力
可选
时间允许情况下,加入分布式:
- 集群
- 哨兵
- 数据分片
- 主从复制