Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108874
  • 博文数量: 53
  • 博客积分: 2062
  • 博客等级: 大尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:14
文章分类

全部博文(53)

文章存档

2011年(1)

2010年(3)

2009年(49)

我的朋友

分类: 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)









ChinaUnix-ITpub网站MySQL技术征文大赛第一名
作者:IT168 沈刚 
阅读(1026) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

wm586680032009-06-09 10:07:19

 1、使用两个MySQL 主库master1,master2,数据存在共享设备上,用heartbeat2 进行监控,当master1 发生故障时,将资源切换到master2。 这个说法不对吧,这种共享存储的架构应该是不行的。