飞信核心库ha设计及实现

13
飞信核心库HA设计及实现 新技术研发部 吴炳2011822

Upload: orczhou

Post on 13-Jul-2015

1.071 views

Category:

Documents


1 download

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库通过Standy localeip同步

A-> B ->C

HA设计

HA设计V2切换后

Note:

红色线标识需要DBA去修复的同步

红色边缘的机器是需要DBA去处理的机

B

CA

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分钟。

目前技术路线

讨论交流

讨论