模式

1.master---slave模式

master负责R/W,slave 从master复制binlog备份数据,主要解决读取瓶颈

Mysql 之 数据库架构类型及常用解决方案

2.master---master模式

主要针对master部分维护时停机问题,这样两个master互为master--slave

Mysql 之 数据库架构类型及常用解决方案

3.master--slave--slave模式

Mysql 之 数据库架构类型及常用解决方案

4.dualMaster -- 级联

Mysql 之 数据库架构类型及常用解决方案

MYSQL数据库常用架构解决方案

MMM架构

Mysql 之 数据库架构类型及常用解决方案

MHA架构

Mysql 之 数据库架构类型及常用解决方案

双主从备份

Mysql 之 数据库架构类型及常用解决方案

对比

类型

MMM

MHA

作用

检测master数据库健康状态

并在master出现问题时完成自动切换

出现故障时

1.备master切换为新的master

2.slave切换指向到新master

1.找出最新的slave

2.将宕机的master的bin-log保存

3.将slave同步最新master的数据

4.将所有库同步宕机master的bin-log

5.将最新slave作为master

6.配置其他slave连接到新master

优点

1.读写VIP的配置,读写请求都可以做到高可用

2.工具包相对完善,不需要额外开发脚本

3.完成故障转移后,可以继续对mysql集群监控

1.日志点的主从同步,也支持GTID的主从同步

2.无需单独的master备份

3.尝试从旧master中尽可能多保存和获取未同步的日志

缺点

1.社区不活跃

2.需要的机器和IP地址资源较多

3.原生不支持GTID的复制方式

1.自行开发VIP转移脚本
2.只保证master高可用,未保证slave高可用

 

还有阿里的TMHA,一主一从。而MHA是一主两从

 

数据库利用第三方插件扩展

方案1:memcached只作为数据缓存,不需要修改mysq

Mysql 之 数据库架构类型及常用解决方案

所有数据都会写入MySQLMaster中,包括数据第一次写入时候的INSERT,同时也包括对已有数据的UPDATE和DELETE。不过,如果是对已经存在的数据,则需要在UPDATE或者DELETEMySQL中数据的同时,删除Memcached中的数据,以此保证整体数据的一致性。而所有的读请求首先会发往Memcached中,如果读取到数据则直接返回,如果没有读取到数据,则再到MySQLSlaves中读取数据,并将读取得到的数据写入到Memcached中进行Cache。

特点:比较适用于需要缓存对象类型少,而需要缓存的数据量又比较大的环境

 

方案2 :mysql通过自己编写的UDF控制memcached。

Mysql 之 数据库架构类型及常用解决方案

 

 

本文图片来自网络

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: