腾讯互动娱乐运营部DBA组组长崔玉明《精品游戏背后,MySQL数据库运营技术演进及云化探索》
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL故障切换
Proxy调度效果
服务
• 标准化 • (全)流程打通
• 07年 • RTX&Mail • 业务脚本& 批量工具脚 本 • 09年 • 需求系统 • 任务系统 • 10年 • Service Window • 12年 • OpenApi
服务举例
• 并行化 • tmysqlparse • OpenApi
A-Server Group 公用网络 E-Server
B-Server Group
分IDC
Client
Client
Client
MMOG/三国DB分布
中心DB 中心Server Master Slave
Centerdb
Centerdr
C-Server
D-Server
E-Server
广东一区
河北一区
背景
• 三类游戏DB分布 • DB架构简化 • DB架构精粹
三类游戏
• 平台休闲游戏(PLAT): QQGame,QQ宠物等 • 高级休闲游戏(ACG): 飞车/穿越火线/LOL/炫舞等
• 大型多人在线游戏(MMOG): DNF/寻仙/三国等
PLAT/QQGame DB分布
Slave
A-dr1
• 非通用 • 零散
•统一 •singletransaction •Master-data •异机异地
• binlog备份 • 备份系统云 化
•自助恢复 •tmysqldump •MLOAD.pl •tmysqlbinlog
Auto-Switch
MySQL-Proxy 定制扩展 • Base on MySQL-Proxy 0.8.2 • ADMIN接口指令扩展:
精品游戏背后
MySQL数据库运营技术演进及云化探索
自我介绍
我是robincui(崔玉明),互娱运营部DBA组TeamLeader mail:robincui@ 微博:/robincui 微博介绍:一名普通的仓管员,仓库里的放了很多人物和怪物的故事 K吧:DBA的地下金库 || mysql internals || GCS
A-drN
B-dr1
B-drN
C-dr1
C-drN
Logdb Master
A-db1
A-dbN
B-db1
B-dbN
C-db1
C-dbN
L-db1
L-dbN
Proxy
Proxy
Proxy
A-Server
A-Server
B-Server
B-Server
B-Server
B-Server
B-Server
B-Server
Logdb
DB架构精粹
• • • • • • 部署策略:集中 VS Set化 切割策略:平行 VS 垂直 成本策略:核心状态 VS 流水日志 回写策略:回写持久性 VS 高性能 简化策略:无逻辑,BLOB SNS策略:全Cache
互动 I
数据库这块核心亟待解决的问题是什么?
外网问题
Game Cloud Storage架构
互动 II
1.腾讯游戏核心状态数据大概多少T? 2.运营数据量大能证明DBA的能力很牛?
压缩
• Blob化之后,为什么压缩如此重要?
压缩
• 技术演进
• 08年 • In MySQL • Mysql Func • 09年 • In Gamserver • GS Func • • • • 11年 In Milldleware 动态开关 透明 • • • • 13年 In MySQL 按列 透明
• 统一 •Connect •Hang •ErrorLog •Status(232)
• 现场保留 • Checksum • OS Status • 业务性能分数
•心跳 •上报汇总 •性能对比工具 •时间同步
监控案例
• 宏观:业务性能分数
监控案例
• 微观:性能对比视图
备份
12~今 07-08年 07 前 08~11年
版本
12~13 07年 07 前 08~11
4.0.26 Innod b
5.0.45 一致性备份
5.0.67 64位 5.1.47 日志分区 Drop性能
TMySQL 5.5.24 fast index add Online DDL 透明压缩 性能
GCS未来
GCS组成
• • • • • • 硬件 监控 备份 Auto-Switch 服务 版本
硬件
• Disk
• • • 07前 4D-R5 2D-R1 • • • 07-09 4D-R10 6 D-R10 • • • 10-11 6D-R10 10D-R10 • • • 12-13 10D-R10 FIO
ACG/飞车 DB分布
Slave
A-dr
B-dr1
B-dr2
B-drN
Master Logdb
A-db
B-db1
B-db2
B-dbN
L-db1
L-dbN
Proxy服务器
LogProxy
LogProxy C-Sever D-Server A-Server Group B-Server Group S-Server
Master
Master
A-db
G-Server
A-db
G-Server
Slave
Slave
A-dr
G-Server
A-dr
G-Server
Logdb
Logdb
L-db
G-Server G-Server
DB架构简化
• 三类DB,核心只有绿色的master/gamedb
Master
Slave Forward/Cache/ Proxy Server App Server
• Disk:Cloud Block Service • CPU&MEMORY:Spider
开源理解
• DBA Team如何理解开源技术?
– 对内应用:谨慎,控制能力 – 对外推广:延迟一步,成熟之后,社区认可 – 目前进展:
• TMySQL在线加字段PATCH,已经分享给腾讯CDB开发部门 • TMySQL 二进制: https:///TencentDBA/TMySQL-Binary • TMySQL 源码:https:///TencentDBA/TMySQL • TMySQL及更多开源工具,请关注vinchen微博: /keanusneo
• • • ERP开发 0.5Year @Apline • • • 公司网管 2.0Year @Apline • • • 小型机支持 1.0Year @Apline • • • Email运维 1.0Year @HuaWei • • • DBA 6.5Year @tencent
目录
• • • • • • • 背景 GCS架构 GCS组成 GCS服务 GCS未来 开源理解 DBA职业发展
• Memory
• • • 07前 2G 8G • • 07-08 8G • • • 09-12 8G 32G • • • 12-13 32G 64G
• CPU
• • 07前 2C • • 07-11 4C • • • 12-13 4C 24C
硬件案例
监控
12年 07年 07 前 09年
• 非通用 • 零散
DBA职业发展
一 日常故障处理 日常需求处理 日常性能优化 二 脚本工具化能力 web工具、服务建设能力 三 开源软件源码定位问题能力 开源软件源码定制能力 四
适配业务的数据存储层架构规划及建设能力
• 欢迎对数据层或者对游戏运营感兴趣TX加入我们 • QA
– – refresh_backends,refresh_users show processlist,refresh_connlog
监控逻辑: • 多点监控 • SQL探测 • SSH登陆 • Touch文件 • DoubleCheck 切换再检查: • Slave Status,Checksum,Time Delay