Qcon KV架构

KV架构

演进

  1. memcache:hash
  2. redis:主从
  3. tair:脑裂?
  4. squirrel/cellar 美团

squirrel

内存存储

  1. hask -> 槽位

  2. 路由表 -> 分发

  3. 基于redis

通过zookeeper获取元数据

中心管理中心+主从集群

从宕机

  1. 抖动 -> 恢复后加入集群
  2. 死亡 -> 从k8s申请新节点加入集群

Redis迁移

阻塞IO,阻塞主线程

迁移机;

1. 批量migrate
2. 根据监控调速(TCP)
3. 大key异步迁

类似TCP慢启动

通过backlog异步同步状态,缓存->硬盘

热点key

  1. 实时监控热点并止损
  2. 同步到热点节点自动扩容

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" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

csdn zhihu github