设为首页 收藏本站
查看: 848|回复: 0

[经验分享] 高效性MySQL集群详解(一)

[复制链接]

尚未签到

发表于 2018-10-5 08:35:59 | 显示全部楼层 |阅读模式
  一.常见的高可用MySQL解决方案:
  1.常见的高可用MySQL解决方案:
  数据库作为最基础的数据存储服务之一,在存储系统中有着非常重要的地址,因此要求其具备高可用性无可厚非。能实现不同SLA(服务水平协定)的解决方案有很多种,这些方案可以保证数据库服务器在硬件或软件出现故障时服务继续可用。
  高可用性需要解决的主要问题有两个,一个是如何实现数据共享或同步数据,另一个是如何处理failover。数据共享一般的解决方案是通过SAN(Storage Area Network)来实现,而数据同步可以通过rsync软件或DRBD技术来实现。failover的意思是指当服务器死机或出现错误时可以自动切换到其他备用服务器,不影响服务器上业务系统的运行。
  a)主从复制解决方案:
  这是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication技术就是一个日志的复制过程,在复制过程中一台服务器充当主服务器,而一台或多台其他服务器充当从服务器,简单说就是,从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。
  MySQL replication技术仅仅提供了日志的同步执行功能,而从服务器只能提供读操作,并且当主服务器发生故障时,必须手动处理failover,通常的做法是将一台从服务器更改为主服务器。这种解决方案在一定程度上实现了MySQL的高可用性,可以实现90.000%的SLA。
  为了达到更高的可用性,在实际的应用环境中,一般都采用MySQL replication技术配合高可用集群软件来实现自动failover,这种方案可以实现95.000%的SLA。比如:通过Keepalived结合MySQL replication技术实现MySQL高可用架构的解决方案。
  b)MMM高可用解决方案:
  MMM(Master-Master Replication Manager for MySQL)MySQL主主复制管理器,提供了MySQL主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件。在MMM高可用解决方案中,典型的应用是双主多从架构,通过MySQL replication技术可以实现两台服务器互为主从,且在任何时候只有一个节点可以写入,避免多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用。
  MMM方案是目前比较成熟的MySQL高可用解决方案,可以实现99.000%的SLA.
  c)Heartbeat/SAN高可用解决方案:
  此解决方案是借助第三方软硬件实现的,在这个方案中,处理failover的方式是高可用集群软件Heartbeat,它监控和管理各个节点间连接的网络,并监控集群服务,当节点出现故障或者服务不可用时,自动在其他节点启动集群服务。
  在数据共享方面,通过SAN存储来共享数据,在正常状态下,集群主节点将挂载存储进行数据读写,而当集群发送故障时,Heartbeat会首先通过一个仲裁设备将节点挂载的存储设备释放,然后在备用节点上挂载存储,接着启动服务,通过这种方式实现数据的共享和同步。这种数据共享方式实现简单,但是成本较高,并且存在脑裂的可能,需要根据实际应用环境来选择。这种方案可以实现99.990%的SLA。
  d)Heartbeat/DRBD高可用解决方案:
  这种高可用解决方案也是借助第三方软硬件实现的,在处理failover的方式上依旧采取Heartbeat,不同的是,在数据共享方面,采用了基于块级别的数据同步软件DRBD来实现。
  DRBD(Distributed Replicated Block Device)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。和SAN网络不同,它并不共享存储,而是通过服务器之间的网络复制数据。这种方案实现起来稍微复杂,同时也存在脑裂的问题,可以实现99.900%的SLA。
  e)MySQL Cluster高可用解决方案:
  MySQL Cluster由一组服务节点构成,每个服务节点上均运行着多种进程,包括MySQL服务器、NDB Cluster的数据节点、管理服务器,以及(可能)专门的数据访问程序。此解决方案是MySQL官方主推的技术方案,功能强大,但是由于实现较为繁琐,配置麻烦,企业实际应用并不多。MySQL Cluster的标准版和电信版可以达到99.999%的SLA。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-612467-1-1.html 上篇帖子: 让我蛋疼的mysql 错误 下篇帖子: ##检查MYSQL数据中的表是否都正常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表