免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: alexsunmiu
打印 上一主题 下一主题

组建MySQL集群的几种方案,优劣与讨论。 [复制链接]

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
21 [报告]
发表于 2015-03-31 20:49 |只看该作者
我们用的第一种
1.若是双主复制的模式,不用做数据拆分,那么就可以选择MHA或 Keepalive 或 heartbeat和HAProxy

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
22 [报告]
发表于 2015-03-31 22:20 |只看该作者
本帖最后由 lyhabc 于 2015-03-31 22:21 编辑

LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)
DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂问题?)


2.Keepalived+MySQL --确实有脑裂的问题,还无法做到准确判断mysqld是否HANG的情况;

3.DRBD+Heartbeat+MySQL --同样有脑裂的问题,

5.MySQL + MHA -- 可以解决脑裂的问题,

造成脑裂的主要问题其实是缺少仲裁,没有选举,没有判断

论坛徽章:
0
23 [报告]
发表于 2015-04-22 10:24 |只看该作者
最近想研究mysql的集群部署方案,也是给运营商的,收藏,等专家给一些建议解答

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2016-04-14 06:20:00数据库技术版块每日发帖之星
日期:2016-06-14 06:20:00
24 [报告]
发表于 2016-01-22 13:08 |只看该作者
keepalived 我暂且还没遇到过脑裂问题

Heartbeat 倒是分分种就脑裂


怎么没提起amoeba呢?

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00
25 [报告]
发表于 2016-02-01 17:57 |只看该作者
我也在为这个烦着,我说说我的见解
首先 lvs + keepalived 做Master +Master其实我比较不赞同这种方法,我假设环境: InnoDB存储引擎 binlog做row格式+半同步,innodb_flush_log_at_trx_commit与sync_binlog 均为1 两台服务器A与B(MySQL 5.6.28版本)
现在A是active机器,
现在A机器上有若干事务进行中,每个事务有若干个save point 现在A机器出现硬件故障崩溃了。A机器重启后必定会进行recover跟undo,而现在B机器的是否会跟着做呢?
如果换成MyISAM 存储引擎存在大量写数据又如何?
我以前曾经遇过一个情景是这样的:
有很多事务在A机器进行,特别是大量insert into语句(primary key全部是auto increment),A服务器现在硬件故障突然崩溃了,现在切换到B机器业务继续发生也有大量的insert update等发生。修复好A机器后发生了这样一件事:B机器进行update的时候A机器的slave stop了,说找不到那个primary key。个人猜是A机器重启后对之前的事务用了的数据全部回滚了,而PK不再重复使用,所以导致A机器与B机器数据不一致。

对于DRDB + Corosync +Pacemaker 做高可用又是否还存在脑裂问题?不过貌似对MyISAM没任何意义,MyISAM无法自行修复,这个是Oracle官网推荐配置。
MHA貌似可靠性比较高不过实现起来比较复杂,我没测试过不知道对于大量写数据是否存在问题,也希望论坛上的高手能详细说说它的原理

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00
26 [报告]
发表于 2016-02-01 17:57 |只看该作者
本帖最后由 raygts 于 2016-02-01 17:58 编辑

我也在为这个烦着,我说说我的见解
首先 lvs + keepalived 做Master +Master其实我比较不赞同这种方法,我假设环境: InnoDB存储引擎 binlog做row格式+半同步,innodb_flush_log_at_trx_commit与sync_binlog 均为1 两台服务器A与B(MySQL 5.6.28版本)
现在A是active机器,
现在A机器上有若干事务进行中,每个事务有若干个save point 现在A机器出现硬件故障崩溃了。A机器重启后必定会进行recover跟undo,而现在B机器的是否会跟着做呢?
如果换成MyISAM 存储引擎存在大量写数据又如何?
我以前曾经遇过一个情景是这样的:
有很多事务在A机器进行,特别是大量insert into语句(primary key全部是auto increment),A服务器现在硬件故障突然崩溃了,现在切换到B机器业务继续发生也有大量的insert update等发生。修复好A机器后发生了这样一件事:B机器进行update的时候A机器的slave stop了,说找不到那个primary key。个人猜是A机器重启后对之前的事务的数据全部回滚了,而PK不再重复使用,所以导致A机器与B机器数据不一致。

对于DRDB + Corosync +Pacemaker 做高可用又是否还存在脑裂问题?不过貌似对MyISAM没任何意义,MyISAM无法自行修复,这个是Oracle官网推荐配置。
MHA貌似可靠性比较高不过实现起来比较复杂,我没测试过不知道对于大量写数据是否存在问题,也希望论坛上的高手能详细说说它的原理
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP