配合视频效果更佳:www.itlaoqi.com/chapter.htm…
MHA是小日子过得还不错的霓虹国程序员yoshinorim开发的MySQL高可用方案,采用Perl语言开发,MHA是最成熟MySQL高可用方案之一。
MHA架构图总览
MHA的组成部分
MHA故障发现与转移过程
MHA manager基于SSH登录检查,所有Slave连接不上Master认定宕机
断开已有连接
找到同步率最高的slave,向其他slave进行差异同步
将旧master binlog差异部分发到哥哥slave并应用
三种选主策略
自动将VIP漂移到新主对外提供服务
旧日支配者恢复后自动降级为Slave挂到new master
MHA优缺点
MHA优点:
由per语言开发的开源工具可以支持基于GTID的复制模式
当主DB不可用时,从多个从服务器中选举出来新的主DB 提供了主从切换和故障转移功能,在线故障转移时不易丢失数据同一个监控节点可以监控多个集群
MHA缺点:
需要编写脚本或利用第三方工具来实现VIP的配置
MHA启动后只只监控主服务器是否可用,没办法监控从服务器需要基于SSH免认证登陆配置,存在一定的安全隐患没有提供从服务器的读负载均衡功能