MYSQL常见架构

来源:互联网 发布:php模板引擎好不好 编辑:程序博客网 时间:2024/06/15 10:00

    

前言

    数据库如果只用一个的话,万一出现故障,会影响网页的正常访问。为解决安全问题,我们为服务器搭建集群,保证一台机器挂了,会有另一台站起来。除此之外,如果我们部署一台机器,只是作为备胎,主机挂了才派上用场有点浪费,所以我们想可不一读从机上的数据,可不可以读写从机上的数据,从而提高数据库的性能。

4中架构

主从复制解决方案

这里写图片描述
    这种主从复制是MySql自身提供的。主从同步数据是通过MySql replication 让从机从主机上拉去二进制文件的方式实现的。并且通过keepalived高可用集群软件来管理主从机。如果检测到主机挂了就把web的链接切换到从机上 进行读写。

MMM/MHA高可用解决方案

这里写图片描述
    三M的这种方案很好,已经不是主从机,而是主备机。

    master1是主机的时候,masters2也可以进行读操作。

    monitor是监控masters的状态,如果master1挂了,monitor会记录masters2同步masters断开的节点,等masters1回复正常后,会继续从节点开始同步master2的数据。

Heartbeat/SAN高可用解决方案

这里写图片描述
    在这个方案中,处理failover的是高可用集群软件Heartbeat.

    通过san来存储数据,这个很棒,不用来回复制数据达到数据一致性。但是有两个缺点:
    1.费用高 san的存储要求什么列阵,造价高。

    2.如果主机没有完全挂,这时备机对数据进行操作容易导致数据不一致和数据损失。

    对于缺点2的解决方案是应用IPMI,这个设备可以在检测到主机出故障后使主机关机。

Heartbeat/DRBD高可用解决方案

这里写图片描述
    DRBD是一个用软件实现的,无共享的,服务器之间镜像块设备内容的存储复制解决方案。

    与SAN网络不同,它不共享存储,而是通过服务建的网络复制数据。

    主机工作的同时可以读备机,如果可以读写备机就完美了,但是会有一致性问题。

经典架构

这里写图片描述
    左边实现了写的高可用。

    右边实现了读的负载均衡

小结

    以上的这些解决方案都是为解决数据库的安全和高可用(high available)问题。

原创粉丝点击