MySQL高可用架构设计方案
6.2.6.Zookeeper节点设计
Zookeeper运行节点设计 固定节点,存放 RunTime状态/runtime 存放数据库状态database存放MySQL数据库状态…mysql数据源名称basedbmaster信息masterActive锁节点lock数据库实例目录service实例节点10.10.12.10:5000basedbmasterlockservice10.10.12.10:5001…10.10.12.10:5002 说明:
1、basedb这一级的节点,当进行分库扩展的时候,就在后面加上数值进行区分,比如basedb1、basedb2等
MySQL高可用架构设计方案
6.3.部署及使用场景
6.3.1.部署方式
??对MySQL进行水平切分,拆分成很多套数据库,主备库可以部署在不同机房 ??MySQL的复制模式采用Master(read-only)—Master(rw)—Slave(read-only) ??数据库中间层(动态数据源包括在内)部署在程序端,配置推送 ??采用IP的方式
??采用可靠的Zookeeper集群保障,Zookeeper可以部署在三个机房
优势
??多机房部署可实现IDC容灾 ??不受限于DNS
??可以进行全页面操作的方式
??在人工情况下可以将主库切换到任意备库
Tips
??Zookeeper集群中机器的可靠性可以保障,只要半数以上的机器存活即可,是稳定的
第三方。
??Zookeeper集群为了保证其自身的稳定性,机器的最少数量为3,因此对应的MySQL在一个集群节点中的最少部署数量也为3个库,两个Master库分别为只读和读写,一个Slave库作为容灾库。
MySQL高可用架构设计方案
6.3.2.使用场景
1、场景1:单机房部署
IDC1机房主库(read-only)主库(rw)从库(容灾 read-only)Agent1Agent2Agent3Zookeeper1Zookeeper2Zookeeper3Zookeeper集群
MySQL高可用架构设计方案
2、场景2:多机房部署
IDC1机房主库(read-only)IDC2机房主库(rw)IDC3机房从库(容灾 read-only)Agent1Agent2Agent3Zookeeper1Zookeeper2Zookeeper3Zookeeper集群
MySQL高可用架构设计方案
6.4.页面化管理及监控
6.4.1.切换管理
目前暂时不实现
6.4.2.Zookeeper监控
?? Zookeeper提供一些简单但是功能强大的4字命令,通过对这些4字命令的返回内容进行解析,可以获取不少关于ZK运行时的信息。 ??用jmx也能获取一些运行的信息
http://zookeeper.apache.org/doc/r3.4.3/zookeeperJMX.html
??开源的浏览器查看Zookeeper插件