MySQL Group Replication小试

   最近看了下MySQL Group Replication的内容,因为发布的时间不是很长,可以算是一个新鲜玩意,而且因为它特有的意义,这个特性显得更加意味深长。
  我接触Oracle的时间要长一些,所以很多时候都喜欢带着对比的眼光来看,单着自己尝试着用了下这个特性,感觉一下子让我找到了当年学习Oracle 10g RAC时的感觉,里面还是有一些小问题,而且还不少,眼巴巴的看着报错,但是日志又很有限,查阅资料,竟然不是bug就是找不到一些相关的信息,所以有时候有种信息孤岛的感觉。
  官网的资料自己也看了好几遍,在自己在电脑环境中也模拟了不下十次,每次感觉都是差一点,有一些让人感觉不大满意的地方,我觉得在这方面的付出可真不比Oracle少,而且我也知道这个新特性要达到成熟到普及,还需要时日。这个过程总是让人难忘而且艰辛。
   首先这个特性,使得MySQL和Oracle体量更加接近,看看下载的二进制包就让人手里一抖,压塑包600多M,但是解压后竟然有差不多2.6G.
  # du -sh ./*
2.6G    ./mysql-5.7.17-linux-glibc2.5-x86_64
625M    ./mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
   如果仔细往下看,就会发现里面group replication的部分占用的空间确实不少。
   我想下面的这个图,如果要看group replication都要说上一段,各类博客中都有自然引用到,原来来自于官网的解读。
  
   从原生的Replication过渡到插件式的半同步,再到Group Replication,真是一个很大的进步,高可用方案随着这个技术的成熟相比也会逐渐成为一种趋势,从Galera到后面Percona包装的PXC,从Group replication的角度再回头来看,竟然发现是如此相似。Galera的作者都是一批20多年实战经验的老鸟,在技术成熟度方面肯定完全不逊于官方。所以选择哪一个或者哪一个更成熟,到时候会是摆在MySQL DBA面前的一个艰难的选择。
   然后再来一张图。MySQL 插件的结构图。
  
MySQL的这个高可用方案是一个share nothing的架构,这样也就使得整个架构是一个强一致性的设计方式,自然会用到组播的方式。
Oracle中搭建RAC需要一个集群软件,早期是可选第三方,后来统一为Oracle专供,也就是后来所说的Grid Infrastrue,不光整合力集群软件,ASM的部分也整合进去了,有点强拆的感觉。MGR的模式目前是推荐单主的形式,即读写分离的方式,也可以做到多主。
   MySQL Group Replication中的这个部分是由Corosync来实现的,corosync的由来是源于一个Openais的项目,可以实现HA心跳信息传输的功能,是众多实现HA集群软件中之一,在MGR早起的实验室版本还需要特意关注这部分的信息,特意的设定和配置使得集群环境能够稳步运行,MGR也是包含了绑定corosync的接口,这个接口实际上是corosync到client API的一个隐式映射。
   由此我也看到了几个不错的解决方案,

corosync+pacemaker+mysql+drbd 实现mysql的高可用,可以参考http://litaotao.blog.51cto.com/6224470/1303307
还有搭建Group Replication很有想法的一个实践,就是先配置gtid,然后切换到group replication,使得这个过程更加平滑。
  

时间: 2024-10-11 02:41:28

MySQL Group Replication小试的相关文章

To MGR or Not MGR? Review of MySQL Group Replication

MySQL Group Replication GA On December 12, 2016, Oracle released exciting news to the MySQL circle. It officially launched version 5.7.17 of MySQL, which includes the long-awaited MySQL Group Replication (MGR). This article provides insights on the b

Galera 将死 — MySQL Group Replication 发布

MySQL Group Replication GA 很多同学表示昨天的从你的全世界路过画风不对,好在今天MySQL界终于有大事情发生可作为聊资.话说,当昨天小伙伴们沉浸于双12的买买买节奏中,孰料远在美国西海岸的Oracle官方放出了最新的MySQL 5.7.17版本.更为重要的是,MySQL Group Replication(下简称MGR)终于来了. 在之前的MySQL的一致性世界的文章中,Inside君已经表示腾讯基于Paxos的强一致方案虽好,但官方基于Paxos的方案早已箭在弦上,作

Galera将死——MySQL Group Replication正式发布

2016-12-14 来源:InsideMySQL 作者:姜承尧 MySQL Group Replication GA 很多同学表示昨天的从你的全世界路过画风不对,好在今天MySQL界终于有大事情发生可作为聊资.话说,当昨天小伙伴们沉浸于双12的买买买节奏中,孰料远在美国西海岸的Oracle官方放出了最新的MySQL 5.7.17版本.更为重要的是,MySQL Group Replication(下简称MGR)终于来了. 在之前的MySQL的一致性世界的文章中,Inside君已经表示腾讯基于Pa

Mysql group replication复制原理

前言:          Mysql版本5.7.17推出Mysql group replication(组复制),相对以前传统的复制模式(异步复制模式async replication 及半同步复制模式semi-sync replication),一个主,对应一个或多个从,在主数据库上执行的事务通过binlog复制的方式传送给slave,slave通过 IO thread线程接收将事务先写入relay log,然后重放事务,即在slave上重新执行一次事务,从而达到主从事务一致的效果,如下图为两

公开课发布《MySQL Group Replication思想》

0.导读 央视网络国际有限公司资深MySQL专家古雷老师分享<MySQL Group Replication思想>. 1.活动总结 昨天晚上,知数堂培训邀请到央视网络国际有限公司资深MySQL专家古雷老师分享<MySQL Group Replication思想>主题.形象的通过马农.砖家与运韦合伙种地.放鸽子.鸽子间如何相互通信协调的故事,让我们对MySQL Group Replication的基础原理有了深刻认识. 本次分享通过"IT大咖说"平台进行,相关的课

动态创建MySQL Group Replication的节点(r11笔记第84天)

前几天分享了下搭建MySQL Group Replication的脚本,其实感觉还是不太踏实,虽然我成功搭建了3个节点的环境,但是有不少问题还没有解决,甚至是特意避开了.     1.节点数都是在脚本里固定的,想搭建4个,6个节点的,完全适应不了    2.模板臃肿,每个节点一个参数模板,其实就几个参数不一样    3.单主模式下的节点,其实就一个写节点的配置略有不同,其它节点配置都是一样的,但是脚本里也是写固定了.    4.端口也是写固定了,没法再改了. ....   我能够一口气列出很多很

MySQL Group Replication 学习笔记

作者简介 刘伟  云和开创高级顾问 题记:group replication作为mysql官方,在5.7版本阶段开发的,innodb的分布式数据库架构,从发布开始就有很多关注,下文是我对目前为止的材料以及实验的一些总结. 主要资料来源是官方blog:http://mysqlhighavailability.com/ group replication架构 group replication(后文简称GR)实现的分布式数据库架构,底层的分布式基础是Paxos(出于行文限制,此处不单独交代Paxos

MySQL Group Replication 学习笔记—group replication 小结

group replication 小结 group replication作为mysql官方,在5.7版本阶段开发的,innodb的分布式数据库架构,从发布开始就有很多关注,下文是我对目前为止的材料以及实验的一些总结. 主要资料来源是官方blog:http://mysqlhighavailability.com/ group replication架构 group replication(后文简称GR)实现的分布式数据库架构,底层的分布式基础是Paxos(出于行文限制,此处不单独交代Paxos

分分钟搭建MySQL Group Replication测试环境(r11笔记第83天)

   最近看了下MySQL 5.7中的闪亮特性Group Replication,也花了不少做了些测试,发现有些方面的表现确实不赖.当然要模拟这么一套环境还是需要花不少的功夫的,一般来说都是3个节点的环境,实际中要找这样的环境也不是很容易.我们怎么快速模拟呢.一种方式就是在一台服务器上搭建多实例.    这样一来,服务器的问题就解决了,下面要解决的问题就要艰巨的多了,那就是部署环境.    可以看到各路博客中都有了详细的解释,而官方文档中对于搭建过程也花了不少的额篇幅来解释,每一个步骤,每个操作