常见的MYSQL ⾼可⽤解决⽅案
⽅法/步骤
MySQL 是⼀种关系数据库管理系统,关联数据库将数据保存在不同的表中,⽽不是将所有数据放在⼀个⼤仓库内,这样就增加了速度并提⾼了灵活性。MySQL 软件采⽤了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积⼩、速度快、总体拥有成本低,尤其是开放源码这⼀特点,⼀般中⼩型⽹站的开发都选择 MySQL 作为⽹站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
主从复制解决⽅案:这是MySQL ⾃⾝提供的⼀种⾼可⽤解决⽅案,数据同步⽅法采⽤的是MySQL replication 技术。MySQL replication 就是从服务器到主服务器拉取⼆进制⽇志⽂件,然后再将⽇志⽂件解析成相应的SQL 在从服务器上重新执⾏⼀遍主服务器的操作,通过这种⽅式保证数据的⼀致性。为了达到更⾼的可⽤性,在实际的应⽤环境中,⼀般都是采⽤MySQL replication 技术配合⾼可⽤集软件keepalived 来实现⾃动failover ,这种⽅式可以实现95.000%的SLA 。1MMM/MHA ⾼可⽤解决⽅案:MMM 提供了MySQL 主主复制配置的监控、故障转移和管理的⼀套可伸缩的脚本套件。在MMM ⾼可⽤⽅案中,典型的应⽤是双主多从架构,通过MySQL replication 技术可以实现两个服务器互为主从,且在任何时候只有⼀个节点可以被写⼊,避免了多点写⼊的数据冲突。同时,当可写的主节点故障时,MMM
套件可以⽴刻监控到,然后将服务⾃动切换到另⼀个主节点,继续提供服务,从⽽实现MySQL 的⾼可⽤。
2Heartbeat/SAN ⾼可⽤解决⽅案:在这个⽅案中,处理failover 的⽅式是⾼可⽤集软件Heartbeat ,它监控和管理各个节点间连接的⽹络,并监控集服务,当节点出现故障或者服务不可⽤时,⾃动在其他节点启动集服务。在数据共享⽅⾯,通过SAN (Storage Area Network )存储来共享数据,这种⽅案可以实现99.990%的SLA 。
3
mysql社区版国内镜像下载Heartbeat/DRBD⾼可⽤解决⽅案:此⽅案处理failover的⽅式上依旧采⽤Heartbeat,不同的是,在数据共享⽅⾯,采⽤了基于块级4
别的数据同步软件DRBD来实现。DRBD是⼀个⽤软件实现的、⽆共享的、服务器之间镜像块设备内容的存储复制解决⽅案。和SAN⽹络不同,它并不共享存储,⽽是通过服务器之间的⽹络复制数据。
NDB CLUSTER:国内⽤NDB集的公司⾮常少,貌似有些银⾏有⽤。NDB集不需要依赖第三⽅组件,全部都使⽤官⽅组件,能5
保证数据的⼀致性,某个数据节点挂掉,其他数据节点依然可以提供服务,管理节点需要做冗余以防
挂掉。缺点是:管理和配置都很复杂,⽽且某些SQL语句例如join语句需要避免。
6
使⽤第三⽅的Tungsten软件:使⽤java编写,不是MYSQL内置的,同样是MYSQL数据库复制,不过他不是⽤MYSQL内置的组件来做的,不但⽀持MYSQL数据库复制也⽀持异构数据库的复制,⽽且对异构数据库复制⽀持较好,例如MYSQL复制到ORACLE。END
注意事项
ndb是⼀种存储引擎,通常在mysql cluster中使⽤。
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是⼀个虚拟的服务器集系统。
Keepalived在这⾥主要⽤作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论