飞信核心库Ha设计及实现

1,249 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,249
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
80
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

飞信核心库Ha设计及实现

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

×