Mysql高可用主流架构的介绍
新闻资讯

Mysql高可用主流架构的介绍

发布时间:2022-04-28 浏览次数:14

Mysql高可用HA(High Availability)是为了解决单机故障。

mysql高可用主流架构:

1、双机高可用

(1)架构:

一台机器A作为读写库,另一台B作为备份库;A库故障后B库作为读写库;A库恢复后A作为备库。

(2)配置:

此种情况下,数据源配置中的数据库IP地址,可采用虚拟的IP地址。虚拟IP地址由两台数据库机器上的keepalive配置,并互相检测心跳。当其中一台故障后,虚拟IP地址会自动漂移到另外一台正常的库上。数据库的主备配置、故障排除和数据补全,需要DBA和运维人员来维护。而程序代码或配置并不需要修改。

(3)适用场景及优缺点:

读和写都不高的场景(单表数据低于500万),双机高可用。优点是一个机器故障了可以自动切换;缺点是只有一个库在工作,读写并未分离,并发有限制。

2、主从读写分离

(1)架构:

一台机器A作为写库,另一台B作为读库;A库故障后B库充当读写,A修复后,B库为写库,A库为读库。

(2)配置:

这种方案的实现,要借助数据库中间件Mycat来实现,项目开发中,要配置Mycat数据源,并实现对Mycat数据源的数据操作。数据库A和数据库B应该互为主从。数据库的主主配置、故障排除和数据补全,依然需要DBA和运维人员来维护。

(3)使用场景及优缺点:

读和写都不是非常高的场景(单表数据低于1000万),高可用。比方案一并发要高很多。优点是一个机器故障了可以自动切换;读写分离,并发有了很大的提升。缺点是引入了一个Mycat节点,若要高可用需要引入至少两个Mycat。常规的解决方案是引入haproxy和keepalive对mycat做集群。

3、MariaDB Galera Cluster

(1)架构:

多个数据库,在负载均衡作用下,可同时进行写入和读取操作;各个库之间以Galera Replication的方法进行数据同步,即每个库理论上来说,数据是完全一致的。

(2)配置:

数据库读写时,只需要修改数据库读写IP为keepalive的虚拟节点即可;数据库配置方面相对比较复杂,需要引入haproxy、keepalive、Galaera等各种插件和配置。

(3)使用场景及优缺点:

该方案适合读写并发较大、数据量不是非常大的场景。

(4)优点:

可以在任意节点上进行读2)自动剔除故障节点3)自动加入新节点4)真正并行的复制,基于行级5)客户端连接跟操作单数据库的体验一致\6) 同步复制,因此具有较高的性能和可靠性。

(5)缺点:

DELETE操作不支持没有主键的表,没有主键的表在不同的节点顺序将不同;处理事务时,会运行一个协调认证程序来保证事务的全局一致性,若该事务长时间运行,就会锁死节点中所有的相关表,导致插入卡住.


相关推荐

产品试用 产品试用
400-820-6580 免费电话