关于MySQL集群架构优劣势与适用场景的分析与思考

Posted ITPUB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MySQL集群架构优劣势与适用场景的分析与思考相关的知识,希望对你有一定的参考价值。

本文主要分析总结了目前主流的几种mysql集群架构实现方法及优缺点,现发出来以供大家参考学习、共同进步,如有不妥之处,请不吝赐教~

一、主从复制架构MHA
MHA即Master High Availability Manager and Tools for MySQL,是日本的一位MySQL专家采用Perl语言编写的一个MySQL高可用管理工具,目的在于维持Master主库的高可用性及数据的一致性。

MHA目前在 MySQL高可用方面是一个相对成熟的解决方案且在大量的企业得到广泛使用。其最大特点是可以修复多个Slave之间的差异日志,最终使所有Slave保持数据一致,然后从中选择一个Slave数据库作为新的Master,并将其它Slave指向它。
    
当Master故障时,MHA会从多个Slave中随机选择一个充当新的Master,也可在配置文件中指定某一个Slave优先成为Master。

其架构如下,请参考:
关于MySQL集群架构优劣势与适用场景的分析与思考

对上图做如下简单解释,请参考:
  1. 在MHA架构中读写分离,最佳实践是在应用开发设计时提前规划读写分离事宜,在使用时设置两个连接池,即读连接池与写连接池,也可以选择折中方案即引入SQL Proxy;
  2. 关于读负载均衡可以使用F5、LVS、HAPROXY或者SQL Proxy等工具,只要能实现负载均衡、故障检查及备升级为主后的读写剥离功能即可,建议使用LVS;
  3. MHA Manager Node 主要负责主库在crash时将bin log完整同步到slave库、监控主备库的状态及切换。

二、官方集群MySQLCluster架构
MySQL Cluster是Oracle官方提供的一种企业级解决方案。其采用了无共享存储的数据存储模式,真正实现了数据在集群中的实时同步及数据库节点故障对应用的透明性。官方承诺MySQL Cluster可以保证数据库系统99.999%的可用性。
关于MySQL集群架构优劣势与适用场景的分析与思考

对上图做如下简单解释,请参考:
  1. 关于读、写负载均衡可以使用F5、LVS、HAPROXY或则其他SQL Proxy等工具,只要能实现负载均衡、故障检查即可;
  2. MySQL Cluster同时支持Cluster和Sharding功能,一般根据实际需要进行设计表;
  3. 做Sharding的表一般需要使用NDB Cluster 存储引擎;
  4. MGM节点:作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等,其本身产生故障不会影响MySQL Cluster;
  5. SQL节点:用来访问 Cluster数据的节点;
  6. NDB节点:用于保存 Cluster的数据;
  7. MySQL Cluster支持集群到集群之间的实时同步,粒度可细致到行级别,可实现夸数据中心部署。

三、开源分布式方案Cobar
Cobar是阿里巴巴B2B部门开发的一种关系型数据的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务。Cobar的主要功能如下:
  1. Cobar支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分;
  2. Cobar也支持将不同的表放入不同的库;
  3. 多数情况下,会将以上两种方式混搭使用;
  4.  Cobar可以自动向后端连接的MySQL发送心跳,判断MySQL运行状况,一旦运行出现异常,Cobar可以自动切换到备机工作。
关于MySQL集群架构优劣势与适用场景的分析与思考

对上图做如下简单解释,请参考:
  1. Cobar同时支持Cluster集群功能和Sharding数据切片功能,一般根据实际需要会采用混搭的方式;
  2. Cobar实现了对应用请求的负载均衡、后端节点的健康检查、SQL切分及查询结果集的聚合等功能;
  3. MySQL主备库应设置成主主双向同步方式即须将MySQL M01与MySQL S01设置成主主同步模式。
作者:fengzhanhai
链接:
http://blog.itpub.net/25723371/viewspace-1977389/
燃爆九月!最后折扣来袭!


关于MySQL集群架构优劣势与适用场景的分析与思考
关于MySQL集群架构优劣势与适用场景的分析与思考
SACC2016
作为国内最受欢迎的架构师盛会, 2016第八届中国系统架构师大会(SACC)将于2016年10月27日-29日在北京万达索菲特大酒店撼世来袭!

大会以"架构创新之路"为主题,共设置两个主场分享时段,24个技术交流专场时段;邀请来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域,150多位技术专家及行业领袖来分享他们的经验;并将吸引4000多名系统运维、架构师、及各种企业的IT决策人士参会,为他们提供最具价值的交流平台。
限时折扣!
9月28日前,订购SACC2016门票立享8.8折优惠!团购更有折上折!还不快来!
点击 “阅读原文”立即购票!


以上是关于关于MySQL集群架构优劣势与适用场景的分析与思考的主要内容,如果未能解决你的问题,请参考以下文章

公有云与私有云优劣势调研

20160818分析各种搜索的优劣势(essolrsphinxmysql like)

阿里P8架构师谈:MongoDBHbaseRedis等NoSQL优劣势应用场景

阿里P8架构师谈:MongoDBHbaseRedis等NoSQL优劣势应用场景

微服务系列:服务注册与发现的实现原理及实现优劣势比较

PB级大规模Elasticsearch集群运维与调优实践