Qcon KV架构
KV架构
演进
- memcache:hash
- redis:主从
- tair:脑裂?
- squirrel/cellar 美团
squirrel
内存存储
hask -> 槽位
路由表 -> 分发
基于redis
通过zookeeper获取元数据
中心管理中心+主从集群
从宕机
- 抖动 -> 恢复后加入集群
- 死亡 -> 从k8s申请新节点加入集群
Redis迁移
阻塞IO,阻塞主线程
迁移机;
1. 批量migrate
2. 根据监控调速(TCP)
3. 大key异步迁
类似TCP慢启动
通过backlog异步同步状态,缓存->硬盘
热点key
- 实时监控热点并止损
- 同步到热点节点自动扩容
Cellar
DynamoDB -> Handoff理论
网络抖动将会很快恢复,当节点拉出后,请求打到另一个节点,当恢复后,B回写log到A,然后ZK中心回复A
数据强一致
Raft一致性
快慢队列
慢请求:超时请求=1:20
快慢 * 读写 = 4个队列 + 4线程池(同时任务窃取)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com
文章标题:Qcon KV架构
本文作者:KevinTen
发布时间:2019-10-19, 00:00:00
最后更新:2019-10-22, 09:14:33
原始链接:http://github.com/kevinten10/2019/10/19/Qcon/Qcon-KV存储架构/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。