• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
飞信核心库Ha设计及实现
 

飞信核心库Ha设计及实现

on

  • 1,119 views

 

Statistics

Views

Total Views
1,119
Views on SlideShare
1,119
Embed Views
0

Actions

Likes
3
Downloads
75
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    飞信核心库Ha设计及实现 飞信核心库Ha设计及实现 Presentation Transcript

    • 飞信核心库HA设计及实现
      新技术研发部
      吴炳锡
      2011年8月22日
    • Agenda
      • 关于飞信
      • HA设计
      • HA结构实现
      • 已经遇到问题及存在的不足
      • 目前技术路线
      • 计论
    • 关于飞信
      • 飞信是中国移动推出的“综合通信服务”,即融合语音(IVR)、GPRS、短信等多种通信方式,覆盖三种不同形态(完全实时、准实时和非实时)的客户通信需求,实现互联网和移动网间的无缝通信服务。
      • 飞信不但可以免费从PC给手机发短信,而且不受任何限制,能够随时随地与好友开始语聊,并享受超低语聊资费。
      • 飞信实现无缝链接的多端信息接收,MP3、图片和普通OFFICE文件都能随时随地任意传输,让您随时随地都可与好友保持畅快有效的沟通,工作效率高,快乐齐分享!
      • 飞信还具备防骚扰功能,只有对方被您授权为好友时,才能与您进行通话和短信,安全又方便。
      • 最后,飞信为您提供 7*24小时不间断服务,让您享受最贴心的关怀。有什么问题需要帮助?请随时拨打10086进行咨询
    • HA设计
      • 基本环境
      • Red Hat Linux Enterprise 5.X
      • MySQL 5.1
      • Red Hat Cluster Site
      • 数据库现状:
      • 基于存储过程的数据库调用
      • 单表最大的6亿数据,物理大小60G+
      • 平均数据库qps在1W以上
    • HA设计
      • HA结构V1:
      说明:
      两台master上的my.cnf配置一样
      存储被活跃的节点挂载
    • HA设计
      • HA设计V2
      说明:
      Master机器监控*:3306
      Standy 机器监控localeip:3306
      Slave库通过Standylocaleip同步
      A-> B ->C
       
    • HA设计
      • HA设计V2切换后
      B
      C
      A
      Note:
      红色线标识需要DBA去修复的同步
      红色边缘的机器是需要DBA去处理的机器
    • HA设计
      • HA设计V2的好处
      • 对于主库Crash,Standy 接管较快,不用crash恢复的过程 
      • 对于Slave在发生切换后,可以正常的同步
      • 数据从一份变成了两份
    • HA结构实现
      • 面临的挑战:
      • Red Hat Cluster Site官方配置中不支持两边事例都存活
      • 两边都存活,切换后,怎么把原来的监听localeip:3306换到*:3306
    • HA结构实现
      • 分析mysql.sh实现:
      • 在mysql.sh中start处理中,先做mysql的关闭,同时记录mysql的”show master status”及同步是否完成的一些判断,没完成则等待。
      • 在mysql.sh中的stop处理中,先做DB级类的“read only”操作,对于有super权限的mysql用户通过更改密码,屏蔽对数据库的操作。关闭上连接,然后关闭数据库。
    • 已经遇到问题及存在的不足
      • 从整体上来讲该结构对于资源利用率不高
      • Standy 机器基本不承担业务
      • 异常切换会造成Slave有可能比Master还多点数据
      • 主库压力过大,从库基本上很难赶比较吃力
      • 用mysql_safe启动的mysql在故障时不能及时切换过来后改成mysqld –defaults-file=/path/my.cnf &启动
      • Standy接管后ibp加载对系统压力较大
      • 切换过程有点长2-5分钟。
    • 目前技术路线
    • 讨论
      讨论交流