微信Infinity数据库强一致性架构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PaxosStore整体架构
PaxosStore数据模型
PaxosStore事务的表达形式
• 基本容灾单元(Entity)对 应 一 个 PaxosGroup • 存储单元与逻辑单元对齐,业务自定义划分事务单元(实现跨表事务)
PaxosStore跨园区容灾数据分布
• 伸缩:按Set隔离、一致性哈希 • 容灾:数据三园区分布 • 存储:单机作为数据副本节点
单Zone类似BigTable架构
Infinity可用性提升
• 单Zone/多Zone数据分布升级 • 跨园区分布à 跨城分布
• 单Zone可用性提升(满足在线水平) • 区分计划内/计划外调度 • 降低”中心点”依赖
• 多Zone下快速修复单Zone数据 • 目录级别拷贝恢复
可用性提升:区分计划内/计划外调度
数据业务背景与挑战
• 十亿级用户、百亿千亿级服务 • 支撑微信账号/消息/朋友圈/通讯录… • 每天数万亿的读写華、峰值亿级每秒 • 开放平台,支付等业务持续增长
数据存储的可靠级别不断被抬高
• QuorumKV à PaxosStore à Infinity
ቤተ መጻሕፍቲ ባይዱ
目录大纲
• 业务背景与挑战 • PaxosStore跨园区容灾简介 • Infinity计算存储分离架构 • 未来规划展望
• 对比Spanner/Bigtable的Tablet结构有何优势?
Infinity快速扩容/缩容
• 计算层:无状态服务,秒级快速伸缩 • 存储层:文件块拷贝迁移,消耗资源低
Infinity的数据强一致
• 多Zone之间Paxos同步
• 单Zone类似BigTable架构 • Chubby分布式锁 • 偏离线场景使用 • 如何提升可用性? • WFS分布式文件系统
目录大纲
• 业务背景与挑战 • PaxosStore跨园区容灾简介 • Infinity计算存储分离架构 • 未来规划展望
Infinity计算存储分离架构总览
• Zone数目可选/支持单Zone模式
Infinity数据组织方式
• 类似Spanner的数据组织 • 容灾单元Container对应单个LSM实例
• 计划内:实现秒级实时快速调度 • 批晕获取文件元信息 • WAL/Manifest复用、共享内存Cache
• 计划外:降低分布式锁的超时 • 隐式CAS(结束文件块)避免数据污染
可用性提升:降低“中心点”依赖
• 一致性哈希规则去中心化 VS 集中式管理调度 • 增强中心点的能力/降低中心点的依赖
低 延 2 % 化 : I O 并 发 /预
读 • IO串 0 à并发
• 倍增预读:20%多余开销
低延迟优化:按地域调度/调整
• 按地域属性调度 • 与WFS写入的主节点对齐
• 单key级别数据调整 • 弥补范围就近访问不足
低延迟优化:支持只读模式
• 共享文件存储 • 只读Container探测变更
Infinity计算存储分离架构总结
• 数据强一致 • Paxos同步/Chubby/强一致分布式文件系统
• 快速扩容/缩容 • 计算层无状态、存储层文件拷贝
• 可用性提升 • 区分计划内/计划外调度、降低”中心点”依赖 • Container数据落后,目录级拷贝快速恢复
• 低延迟优化 • IO并发/预读、按地域调度/调整、支持只读模式
目录大纲
• 业务背景与挑战 • PaxosStore跨园区容灾简介 • Infinity计算存储分离架构 • 未来规划展望
未来规划展望
• WFS去中心化 • NameNode数据分散分布
• 多流水线优化 • WFS文件IO • 逻辑执行
• 冷热分离存储统一架构
PaxosStore的迁移/扩容/缩容
• 新增Set后按一致性哈希重新路由 • 根据负载反馈快速伸缩
改善PaxosStore跨园区架构
• 允许一个复制组内两台机连续出现故障 • 单机故障时其他机器可以快速顶上 • 三副本升级为五副本部署
• 希望能够更加快速灵活地进行扩容/缩容 • 计算层实现秒级伸缩 • 存储层按文件块级别拷贝迁移
PaxosStore是什么?
基于Paxos协议在园区数据中心间同步复制,提供灵活的数据模型和 访问接口,支持亿行大表,并具备快速伸缩能力,低延迟低成本,强一 致和高可用的分布式数据库系统。
• 无租约多主多写,可用性高达6个9的水平 • 针对业务和架构特点进行优化,整体成本降低15+% • 同一容灾、迁移框架下,支持多种数据模型(例如亿行大表) • 基于反馈的自适应迁移系统,提供快速伸缩的能力
可用性提升:降低“中心点”依赖
• “中心点”故障,人工介入兜底
容灾单元Container对应单个LSM实例
• 落后避免Key级别Insert导入恢复 • Compaction流晕放大/CPU消耗
• 目录级别拷贝恢复:高性能,提升可用性
计算存储分离:IO延迟从微秒到亳秒
• 100倍以上的差距,如何做到低延迟? • IO并发/预读 • 按地域调度/调整 • 支持只读模式 • 底层分布式文件系统的支持 • 就近接入访问 • 备份请求
微信Infinity数据库强一致性架构
跨越数千公里的数据强一致性
目录大纲
• 业务背景与挑战 • PaxosStore跨园区容灾简介 • Infinity计算存储分离架构 • 未来规划展望
目录大纲
• 业务背景与挑战 • PaxosStore跨园区容灾简介 • Infinity计算存储分离架构 • 未来规划展望
相关文档
最新文档