mysql高可用系统—ucmha

20
MySQL高可用系统 -UCMHA UC优视-张光培 © 2004 - 2013 UC Mobile 1

Upload: ucarticle

Post on 14-Jun-2015

783 views

Category:

Technology


15 download

DESCRIPTION

UCWEB高级工程师张光培在珠三角技术沙龙2013年第10期上的分享 via http://tech.uc.cn/

TRANSCRIPT

Page 1: MySQL高可用系统—UCMHA

MySQL高可用系统-UCMHA

UC优视-张光培

© 2004 - 2013 UC Mobile 1

Page 2: MySQL高可用系统—UCMHA

现实中的MySQL问题

© 2004 - 2013 UC Mobile

Page 3: MySQL高可用系统—UCMHA

目标

Page 4: MySQL高可用系统—UCMHA

业界解决方案

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

Page 5: MySQL高可用系统—UCMHA

UC MySQL高可用系统

高可用 = 快速灾难恢复1.MySQL高可用2.应用高可用3.平台高可用

Page 6: MySQL高可用系统—UCMHA

UCMHA整体架构

Page 7: MySQL高可用系统—UCMHA

手工处理10分钟以上

故障快速恢复

自动处理30秒以内

Page 8: MySQL高可用系统—UCMHA

MySQL高可用-自动切换

© 2004 - 2013 UC Mobile

Page 9: MySQL高可用系统—UCMHA

MySQL高可用-监控策略

•定时监控•检测失败,间隔一定周期重新检测•异常情况下,连续多次检测

Page 10: MySQL高可用系统—UCMHA

MySQL高可用-切换策略

•异常被动通知•累计异常次数,启动切换

Page 11: MySQL高可用系统—UCMHA

完善的高可用方案-自动化部署(平滑升级)

传统部署方式•手工处理•服务器过多时工作量大且易出错•出问题需要手工恢复原版本•缺乏统一的版本管理工具

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

Page 12: MySQL高可用系统—UCMHA

完善的高可用方案-应用侧高可用

•应用端部署•权重轮询负载均衡•主备负载均衡•MySQL协议健康检测

Page 13: MySQL高可用系统—UCMHA

完善的高可用方案-平台高可用(Web控制台)

部署方式:

应对场景:• Web服务崩溃• 配置库机器宕机• 单机架掉电• 双机架掉电\机房宕机

Page 14: MySQL高可用系统—UCMHA

完善的高可用方案-平台高可用(自动化部署)

部署方式:

应对场景:• 自动化部署 master节点宕机• 自动化部署 slave节点宕机• 自动化部署 中继(slave/master)节点宕机

Page 15: MySQL高可用系统—UCMHA

平台化-对外接口

© 2004 - 2013 UC Mobile

接口分类:• 访问UCMHA系统信息 查询业务慢SQL 查询业务proxy信息 查询业务的主从关系 ……

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

访问安全:• 双向SSL认证• 访问频率控制• 访问日志记录

Page 16: MySQL高可用系统—UCMHA

监控管理监控管理

平台化-监控管理

节点状态 监控

慢SQL 统计

请求数 统计

连接池状态 统计

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

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

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

p 总共连接数p 空闲连接数p 等待任务数p 完成任务数p 平均等待时长p 事务连接数

Page 17: MySQL高可用系统—UCMHA

平台化-智能化管理

Page 18: MySQL高可用系统—UCMHA

中间层方案对比

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

1. Erlang实现proxy2. 配置信息的存取使用Mnesia3. 用户名路由4. 外部工具

Page 19: MySQL高可用系统—UCMHA

ROADMAP

减少MySQL连接数

分库分表

统一管理、failover/分库分表

统一管理、简化操作、failover

跨机房管理

Page 20: MySQL高可用系统—UCMHA

Thank You!

© 2004 - 2013 UC Mobile 20

www.uc.cn & wap.uc.cn & tech.uc.cn