Chinaunix

标题: 求助 mysql master-master replication manager [打印本页]

作者: pro1j    时间: 2008-07-02 10:47
标题: 求助 mysql master-master replication manager
想实现mysql的HA. 有什么办法?
1. msyql master-slave 最简单的. 当master宕掉时, 写脚本或手工切换?
2. mmm 这个开源软件有没有用在生产环境的?  我只在测试环境用过. 没问题, 性能没有测试, 所以不放心.
3. 参考http://www.howtoforge.org/mysql_master_master_replication
    这个没看懂 也没时间测试.

各位发表发表意见
谢谢
参考:http://forums.mysql.com/read.php?26,198705,198705

[ 本帖最后由 pro1j 于 2008-7-2 10:53 编辑 ]
作者: linuxrich    时间: 2008-07-02 10:51
不可能的
作者: yueliangdao0608    时间: 2008-07-02 11:16
Don't you have another master machine for master backup?
作者: todayhero    时间: 2008-07-02 11:35
原帖由 pro1j 于 2008-7-2 10:47 发表
想实现mysql的HA. 有什么办法?
1. msyql master-slave 最简单的. 当master宕掉时, 写脚本或手工切换?
2. mmm 这个开源软件有没有用在生产环境的?  我只在测试环境用过. 没问题, 性能没有测试, 所以不放心.
3 ...



redhat+lvs+piranha+mysql_cluster即可实现
作者: pro1j    时间: 2008-07-02 11:49
原帖由 yueliangdao0608 于 2008-7-2 11:16 发表
Don't you have another master machine for master backup?

你这个 another master machine指什么?
因为库不是很大.  我现在的架构是. 一台mysql master. 一台mysql slave. 每天有一个mysqldump备份.
存在master单点故障.  手工或脚本解决, 肯定有个时间段(可能<=1minute)服务是中断的.  我想问的是怎么避免这个单点故障?
发现mmm可以解决.  想问一下有把mmm用在身长环境中的吗?
或者有其他的解决方案.
作者: yueliangdao0608    时间: 2008-07-04 09:45
你不想写脚本的话,就在一台机器上搞两个实例,都做MASTER。两个MASTER中有一个是SLAVE。这样就算一个实例挂了还有一个呢。
但是如果机器挂了。你就得考虑一下了。
作者: showsa    时间: 2008-07-04 20:21
MMM 是没问题的,现在可以用于生产环境 性能绝对不是问题

但是2台db之间网络出现问题的时候,容易出现类似半脑问题
作者: yueliangdao0608    时间: 2008-07-05 00:22
原帖由 showsa 于 2008-7-4 20:21 发表
MMM 是没问题的,现在可以用于生产环境 性能绝对不是问题

但是2台db之间网络出现问题的时候,容易出现类似半脑问题




恩,如果前端有负载均衡。数据因为网络暂时同步不了。会让开发人员很是误解。
作者: linuxrich    时间: 2008-07-05 02:37
原帖由 yueliangdao0608 于 2008-7-5 00:22 发表




恩,如果前端有负载均衡。数据因为网络暂时同步不了。会让开发人员很是误解。


版主, MM方式真的可以吗? 不是cluster.

双向repl可以么?
作者: yueliangdao0608    时间: 2008-07-05 11:33
原帖由 linuxrich 于 2008-7-5 02:37 发表


版主, MM方式真的可以吗? 不是cluster.

双向repl可以么?



可以,我们现在就在用。双MM,多SLAVE.
作者: linuxrich    时间: 2008-07-05 13:36
原帖由 yueliangdao0608 于 2008-7-5 11:33 发表



可以,我们现在就在用。双MM,多SLAVE.


一些主键怎么办, 比如登录用户名字,通过应用程序控制吗?
作者: showsa    时间: 2008-07-05 16:24
原帖由 linuxrich 于 2008-7-5 13:36 发表


一些主键怎么办, 比如登录用户名字,通过应用程序控制吗?


什么怎么办,每台db上面都有完整的数据



只是主键冲突可以有多种途径解决

1种是自增id 可以设置增长间隔
2是自己产生序列
作者: linuxrich    时间: 2008-07-05 18:03
标题: 回复 #12 showsa 的帖子
主键不仅仅是自增ID。 登陆名字呢?
作者: showsa    时间: 2008-07-05 23:04
原帖由 linuxrich 于 2008-7-5 18:03 发表
主键不仅仅是自增ID。 登陆名字呢?


我上面的回复就说了,需要网络状况良好,不然出现类似的“半脑”状况
作者: linuxrich    时间: 2008-07-05 23:24
标题: 回复 #14 showsa 的帖子
这和网络状态没有直接关系,   恰巧同一秒两个人注册同一个ID。  同样我在回复这个帖子, 而版主删除这个帖子怎么办?
作者: showsa    时间: 2008-07-06 10:52
原帖由 linuxrich 于 2008-7-5 23:24 发表
这和网络状态没有直接关系,   恰巧同一秒两个人注册同一个ID。  同样我在回复这个帖子, 而版主删除这个帖子怎么办?




我想你在插入新的用户的时候肯定会检查系统中是否存在同样的用户名
回复贴子的时候会判断该主题是否还存在

确实存在你说的这种情况,他们的时间几乎同时,这时候复制还没有完成。

既然选择mmm这种构架,你得针对这种特殊情况作相应的处理

比如在插入用户的时候,连接到2台master db,采用 select for update的操作,这时候就可以避免你说的冲突的发生。

至于最终确定什么样的构架,需要看你的需求是什么样的。MMM并不是通用构架

如果你的要求很严格,你完全可以选择ndb

[ 本帖最后由 showsa 于 2008-7-6 10:54 编辑 ]
作者: 北京野狼    时间: 2008-07-06 12:44
原帖由 linuxrich 于 2008-7-5 23:24 发表
这和网络状态没有直接关系,   恰巧同一秒两个人注册同一个ID。  同样我在回复这个帖子, 而版主删除这个帖子怎么办?



MM架构是根本不存在的, 鼓吹可以使用在生产环境的,只能说他做的东西根本没资格叫系统。

MM的问题不仅仅是主键和帖子是否还存在的问题,对于复杂的sql ,多变的环境。何况即便是内网,网络也是不可信的
作者: showsa    时间: 2008-07-06 12:55
to: linuxrich

我这里有2个案例,一个是对日外贸站点,还有个是LHC站点
前面2个是双master,后面的是3个


至于你提高的可能造成的冲突,你也可以通过打上google提供的semi-replication补丁,这样可以保证2台master数据一致
但是这是以牺牲性能为代价的,有点类似 drbd 的味道了。

还是那句话,采用什么构架,得分析你的业务和需求,如果想进一步了解,可以私下讨论
作者: bs    时间: 2008-07-18 18:27
MM 下怎么自动切换?为了可靠性,牺牲性能也值了.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2