最近又上线了一个大项目,其中mysql采用的高可用方案如下,用作后续学习
本次项目,mysql部署3台主机,采用主从模式,总共三个结点,主节点后挂一个从节点,从节点后再挂一个从节点,即主-从-备的结构。 采用keepalived虚拟vip,当主结点挂了后,keepalived自动将vip飘到从节点上。 我们自己写的一个monitor会监控keepalive日志,当主机挂掉后,进行告警。每个节点都保存了全量的数据,修改数据后,会实时进行同步。
keepalive在一个组内,进行组内广播,支持IP实时飘。每个Keepalive通过检测脚本检测mysql是否存活,若mysql1挂掉了,keepalive1记录日志,并停掉自己,然后ip飘到keepalive2上面,然后监控monitor检测到mysql1挂掉,进行告警。