PaxosStore分布式数据库的应用实践_第1页
PaxosStore分布式数据库的应用实践_第2页
PaxosStore分布式数据库的应用实践_第3页
PaxosStore分布式数据库的应用实践_第4页
PaxosStore分布式数据库的应用实践_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PaxosStore分布式数据库在微信支付业务的实践问题与挑战微信支付业务的解决方案远距离容灾的高可靠存储设计未来规划数据业务背景与挑战十亿级用户、百亿千亿级服务支撑微信账号/消息/朋友圈/通讯录每天数万亿的读写量、峰值1亿+/秒开放平台,支付等业务持续增长2015年,除夕不眠夜,VPN修数据PaxosStore简介PaxosStore是什么?基于Paxos协议在园区数据中心间同步复制,提供灵活的数据模型和访问接口,支持亿 行大表,并具备快速伸缩能力,低延迟低成本,强一致和高可用的分布式数据库系统。PaxosStore特点:无租约多主多写,可用性高达6个9的水平;针对业务和架构特点进行优化,整

2、体成本降低15+%;同一容灾、迁移框架下,支持多种数据模型(例如亿行大表);基于反馈的自适应迁移系统,提供快速伸缩的能力。PaxosStore简介:整体架构图数据模型的多样性业务需求:分析、提炼、抽象提供必要的功能接口可用性的级别不断被抬高微信支付业务远距离跨省容灾(华南、华东、华北)实时结算低延迟的要求PaxosStore取代同城MySQL强一致、高可用、低延迟、快速伸缩问题与挑战微信支付业务的解决方案远距离容灾的高可靠存储设计未来规划余额需求经典案例:商户余额账户操作流水入库,不重不漏数据保证一条不丢业务逻辑与存储平台解耦限额需求场景:支付限额、支付次数维度:微信用户、银行卡、身份证普通接

3、口:直接加减额度2PC:预加减、成功、撤销数据结构抽象数据结构上的操作提供具体的接口基本操作组合提供两阶段(2PC)支持Prepare/Commit/Roll Back数据保证一条不丢MySQL主备同步缺陷(异步同步)数据保证一条不丢MySQL主备同步缺陷(半同步)题:假设不存数据保证一条不丢Paxos:Indeed, all working protocols for asynchronous consensus we have so far encountered have Paxos at their core. - Chubby世上只有一种一致性协议,那就是Paxos。Paxos数据保

4、证一条不丢Why not NRW(QuorumKV)?Vr + Vw V,Vw V/2保证强一致情况下:可用性低数据保证一条不丢数据副本之间对齐变更日志实时CRC校验数据副本损坏探测操作流水订阅需求不重不漏、满足多订阅需求(对账、查询、分析等)如何获得操作流水推送到队列操作流水不重不漏一般可容忍少量重,但不能接受漏Log文件删除时剥离LSM引擎异步推送,不影响实时任务每个Paxos Group实例维护同步版本解决方案要点总结基于树结构的基本操作组合低耦合、支持业务快速开发数据保证一条不丢PaxosStore的强一致同步代替MySQL的主备同步一些额外措施(数据对齐、实时校验、损坏探测)操作流水

5、入库不重不漏、支持多订阅需求问题与挑战微信支付业务的解决方案远距离容灾的高可靠存储设计未来规划什么是远距离容灾存储?强一致 vs 最终一致数据重要性 vs 用户体验 vs 对账修复成本三地 vs 两地PaxosStore跨园区容灾模式伸缩:按Set隔离、一致性哈希容灾:数据三园区分布存储:单机作为数据副本节点直接升级为跨城容灾模式运营系统不成熟单机故障危害放大(园区间延迟14ms,城市间延迟约30ms)跨园区容灾跨城容灾跨城容灾存储架构目标数据在城市间强一致同步复制拥有成熟稳定的运营系统写请求通常只需要一次跨城RTT延迟读请求支持本城读Paxos是最优选择复用跨园区模式的系统避免单机故障抖动影

6、响常量服务(终态直接应答)以单机作为副本节点的分层结构逻辑层与存储引擎分离计算存储分离?PaxosStore集群(StringKV)逻辑层与存储引擎分离复用跨园区容灾模式下的基础设施(迁移、冷备、路由中心)城市数据中心内自治3个副本 = 9个副本天津IDC采用见证者模式9个副本 = 6个副本逻辑与存储引擎分离无状态逻辑服务(抢占式操作数据)存储引擎服务提供CAS接口区别于基于分布式锁的架构锁租约时长一般为10s1minBigTable(基于分布式锁的架构)跨城容灾存储整体架构StringKV:Key-Value数据模型的PaxosStore存储服务CityReplSvr:无状态服务群、复用PaxosStore同步复制组件的核心逻辑用户请求路由Client优先访问本城CityReplSvr服务本城发起提议:保证在一个跨城RTT内完成协议交互路由规则采用一致性哈希算法如何在一个跨城RTT时间内完成两阶段?Paxos两阶段协议Prepare + AcceptMulti-Paxos优化不存在稳定的提议者如何在一个跨城RTT时间内完成两阶段?三数据副本特性:本地 + 对机 = 多数派本地先Promised,携带Value广播Prepare请求远距离容灾设计要点总结逻辑与存储引擎分离逻辑层抢占式操作数据,不存在切换等待城市数据中心内自治

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论