腾讯游戏数据自愈服务方案

腾讯游戏引入Percona的pt-table-sync工具,实现数据自愈服务,提高数据一致性修复效率,减少DBA工作量和服务器资源消耗。该服务通过数据块校验、精确切分、延迟控制等技术确保数据安全,已在腾讯游戏日常数据校验中稳定运行。
摘要由CSDN通过智能技术生成

                                                                       腾讯游戏数据自愈服务方案简介

 

1. 引言

在正式介绍项目背景之前,让我们先看一组数据:

 

这是2个灰度的业务,都是Z3服务器,我们先只从时间成本的收益角度来看:

⑴  左一业务数据量是330G,数据不一致时通过重做slave需要150分钟左右,而借助pt-table-sync只需要5分钟,速度提升30 倍。

⑵  右一业务的量是93G,通过sync工具花费3分钟,而如果重做slave35分钟,速度提升12倍。

引入这组数据意在指明,整个过程不仅解放了DBA的双手,也符合”零运维”的趋势,数据自愈将是互娱DBA团队在未来提供的服务之一。

 

2. 背景

MySQL数据库基于binlog的数据同步方案,绝大部分情况下能保证主备数据完全一致,但某些异常情况下,例如开发使用了unsafe statementSQL(如带limit)及硬件故障等,都可能导致主备数据不一致。DBA通过checksum工具可以发现这些不一致的情况,但往往需要重新做一个热备来恢复主备数据一致性,并且此过程可能需要10小时以上,而实际情况上主备数据通常仅有少量不一致,在线修复这些数据差异可以更高效地完成一个数据一致的热备。

 

3. 收益

重做热备是我们目前首选的修复方案,但有时候没有备用的新机子却让修复步伐戛然而止,而如果没有修复,倘若master故障,由于数据不一致,切换到slave是存在数据丢失的风险,那么又不得不执行修复,DBA就需要评估以前slave上的连接切换到master是否会影响master的性能......这样DBA的工作量就无形中翻倍了。

 

我们在引言中也道出了sync工具相比传统的热备在时间上的收益,但除了这个,数据自愈服务的收益包括但不限于:

▼ 业务数据更安全,恢复热备时间变短

▼ 减少服务器资源,避免重做热备的机器申请

▼ 提升DBA做热备的处理效率

▼ 降低沟通成本,保证业务持续稳定运行

 

 

4. 数据自愈解决方案

 

我们从开源社区引入了Percona公司的pt-table-sync,该项目从2007年启动。

下面

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值