狠狠撸

狠狠撸Share a Scribd company logo
MySQL高可用系统
-UCMHA
UC优视-张光培

? 2004 - 2013 UC Mobile

1
现实中的MySQL问题

? 2004 - 2013 UC Mobile
目标
业界解决方案

?Monitor + vip: 监控模块 + 虚拟IP
?客户端:api层(嵌入应用模块)
?中间层代理:MySQL协议解析与转发
UC MySQL高可用系统

高可用 = 快速灾难恢复
1.MySQL高可用
2.应用高可用
3.平台高可用
鲍颁惭贬础整体架构
故障快速恢复

手工处理
10分钟以上

自动处理
30秒以内
MySQL高可用-自动切换

? 2004 - 2013 UC Mobile
MySQL高可用-监控策略
?定时监控
?检测失败,间隔一定周期重新检测
?异常情况下,连续多次检测
MySQL高可用-切换策略
?异常被动通知
?累计异常次数,启动切换
完善的高可用方案-自动化部署(平滑升级)
传统部署方式
?手工处理
?服务器过多时工作量大且易出错
?出问题需要手工恢复原版本
?缺乏统一的版本管理工具

自动化部署方式
?自动进行程序的分发,启停,回滚
?多服务器时减少工作量及出错率
?版本管理,可选择需要的版本进行启动
?统一的维护界面
完善的高可用方案-应用侧高可用

?应用端部署
?权重轮询负载均衡
?主备负载均衡
?MySQL协议健康检测
完善的高可用方案-平台高可用(Web控制台)
部署方式:

应对场景:
? Web服务崩溃
? 配置库机器宕机
? 单机架掉电
? 双机架掉电机房宕机
完善的高可用方案-平台高可用(自动化部署)
部署方式:

应对场景:
? 自动化部署 master节点宕机
? 自动化部署 slave节点宕机
? 自动化部署 中继(slave/master)节点宕机
平台化-对外接口

访问安全:
? 双向SSL认证
? 访问频率控制
? 访问日志记录
接口分类:
? 访问UCMHA系统信息
查询业务慢SQL
查询业务proxy信息
查询业务的主从关系
……

? 访问MySQL运行信息
查询MySQL实例的状态信息
执行受限制的SQL查询
显示SQL语句的执行计划
……

? 2004 - 2013 UC Mobile
平台化-监控管理

p
p
p
p

MySQL节点
Proxy节点
Monitor节点
Zookeeper节点

节点状态
监控

慢SQL
统计

p
p
p
p

慢SQL语句
执行时长
客户端IP
业务及对应MySQl实例

监控管理
p
p
p
p

前端连接数
完成请求数
每秒请求数
平均SQL执行时长

请求数
统计

连接池状态
统计

p
p
p
p
p
p

总共连接数
空闲连接数
等待任务数
完成任务数
平均等待时长
事务连接数
平台化-智能化管理
中间层方案对比

1.
2.
3.
4.

淘宝MySQL云架构
(http://blog.yufeng.info/archives/2349)

Erlang实现proxy
配置信息的存取使用Mnesia
用户名路由
外部工具
ROADMAP

统一管理、
failover/
分库分表

减少MySQL
连接数

分库分表

跨机房管理

统一管理、
简化操作、
failover
Thank You!
www.uc.cn & wap.uc.cn & tech.uc.cn

? 2004 - 2013 UC Mobile

20

More Related Content

惭测厂蚕尝高可用系统—鲍颁惭贬础