PaxosStore是一款由腾讯公司开发的分布式存储系统,它在微信后台数据存储中发挥了重要作用。PaxosStore的使用案例和相关原理等内容,在这篇文章中得到了很好的阐述。以下是PaxosStore的关键知识点: 1. PaxosStore项目介绍: PaxosStore是一个在跨园区数据中心间同步复制的分布式存储系统,它具有灵活的数据模式和访问接口,并能支持亿行大表的存储需求。此外,它还具备快速伸缩能力和低延迟低成本特点,能够提供强一致性和高可用性。 2. PaxosStore特点: - 无租约Paxos工程化:该系统基于Paxos协议的工程化应用,支持多主多写,保证了系统的高可用性。 - 针对业务特性优化:通过针对特定业务的优化,可降低整体优化成本超过15%。 - 支持多种插件化存储引擎:PaxosStore可在同一容灾和迁移框架下支持多种存储引擎,以及亿行大表的存储。 - 快速伸缩能力:该系统具备基于反馈的自适应迁移系统,可以根据需求快速进行伸缩。 3. PaxosStore部署情况: - 应用范围广泛:已在WXG内部广泛部署,覆盖数千台机器。 - 大规模读写量:每天处理的读写量达到数万亿次,峰值超过1亿次/秒。 - 巨大的数据存储量:存储PB级别的结构化数据,并在全球多个数据中心之间进行同步。 4. 微信业务支持: PaxosStore支持微信的多种核心业务,包括账号信息、消息系统、朋友圈、通讯录等。 5. 对PaxosStore的需求背景: - 庞大的存储集群和海量存储机器:随着数据量的增加,存储集群规模日益庞大,达到PB级别数据量。 - 单机故障问题:每月平均有上百台机器出现故障,需要在系统设计中考虑容灾和数据安全性。 - 旧架构的缺陷:早期架构存在数据异步同步的问题,单机故障可能会导致部分Key不可用,且数据丢失时存在未同步的数据丢失风险。 6. PaxosStore架构设计: - 数据分布方式:PaxosStore采用按Set隔离和一致性哈希的策略,实现了数据在三园区内的容灾,读操作可以就近访问,提升了效率。 - PaxosLog(PLog)介绍:PLog基于Paxos协议保证每个Entry的一致性,系统中的ABC三台机器上都对应有三条PLog。在三机PLog架构中,数据副本的数量以及PLog的设计要点包括允许空洞、细粒度化以及用户数据隔离等,增强了系统的可用性和可靠性。 - 三份数据副本:PaxosStore采用三份数据副本的设计,这使得系统更加安全可靠。 - NoRaid代替Raid10:这有助于降低成本。 - AB机自动跳转:AB机的自动跳转机制可以应对单机故障,提高可用性。 - PLog允许空洞:提高系统的可用性。 - PLog细粒度化和用户数据隔离:确保用户数据的相互隔离,提升了数据安全。 7. 三机PLog架构下的性能优化: - Paxos协议优化:通过预授权(Pre-Preparing)等机制进行优化。 - 网络IO和磁盘IO优化:按IP聚合投递网络IO和合并磁盘IO来提高效率。 - 针对性优化:只复制副本,延迟批量Commit,降低系统成本并提升性能。 郑建军(RockZheng)作为腾讯的高级工程师,对微信基础存储的研发有着丰富的经验。自2014年加入微信后台团队后,他参与设计和研发了多个大型分布式系统,作为PaxosStore核心研发团队的一员,他不仅对系统的使用和原理有着深入的了解,还对该系统的升级改造有着重要贡献。PaxosStore在提升服务可用性和数据安全性方面取得了显著成果,并在实际业务中得到了广泛应用,显著提升了微信的各项核心业务性能。
- 粉丝: 5
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助