分类: Mysql/postgreSQL
2009-05-31 16:34:50
Master-Slave 的数据库机构解决了很多问题,特别是read/write 比较高的应用,结构如图:
1、写操作全部在Master 结点执行,并由Slave 数据库结点定时(默认60s)读取Master 的bin-log
2、将众多的用户读请求分散到更多的数据库节点,从而减轻了单点的压力
它的缺点是:
1、Slave 实时性的保障,对于实时性很高的场合可能需要做一些处理
2、高可用性问题,Master 就是那个致命点(SPOF:Single point of failure)
本文主要讨论的是如何解决第2 个缺点。
解决方案如下图:
1、使用两个MySQL 主库master1,master2,数据存在共享设备上,用heartbeat2 进行监控,当master1 发生故障时,将资源切换到master2。
2、故障发生后,无需对slave 进行修改,slave 自动切到master2。(断电切换需要手工同步slave)
wm586680032009-06-09 10:07:19
1、使用两个MySQL 主库master1,master2,数据存在共享设备上,用heartbeat2 进行监控,当master1 发生故障时,将资源切换到master2。 这个说法不对吧,这种共享存储的架构应该是不行的。