美文网首页spring bootMySQL实战干货
MySQL高可用、高负载、高性能架构

MySQL高可用、高负载、高性能架构

作者: 刘一一同学 | 来源:发表于2019-07-31 16:18 被阅读0次

    1. 主从架构

    主从架构,实现了读写分离(写操作在master节点,读操作在slave节点),master节点将数据同步存储到slave节点,提高MySQL整体性能/负载。但主从架构存在单点故障隐患,一旦主节点出现故障,整个系统就无法进行写操纵。

    主从架构

    2. MHA

    MHA(Master High Availability),主要解决主节点的高可用问题,核心思想就是尽可能的保证数据一致性,不让数据丢失。当Master节点出现故障时,通过选举机制,Slave自动切换Master。但主节点把数据同步到从节点是有延时的,尤其在高并发情况下,同一刻主节点和从节点数据会不一致。

    当Master节点挂掉后,主从节点是如何进行切换的?

    • Master节点挂了之后,在Slave节点中重新选举一个新备选主节点,原则是binlog最近更新的Slave节点作为备选的主节点。
    • 在备选主节点和其他Slave节点之间同步差异中继日志(relay log)。
    • 应用从原来的Master节点上保存二进制日志。
    • 将备选的主节点作为新的Master节点。
    • 迁移集群其他Slave节点作为新Master节点的从节点。
    MHA

    3. PXC

    PXC是percona公司的percona xtraDB cluster,简称PXC。它是基于Galera协议的高可用集群方案。在PXC架构中, MySQL无主从之分,每个节点都能够提供读和写操作,并且可以实现多个节点间的数据同步,可保障数据库的服务高可用及数据强一致性。

    PXC

    3.1 实现原理

    在提交事务时,PXC确保所有的节点事务都要成功提交,才返回成功。如果其中有一个不成功,就回滚数据,返回失败。正因为如此,可以确保数据是一致的,而且是实时一致,当然这样就导致性能有损耗。另一个好处就是,每个节点都可以提供读写请求,不管写在哪个节点,都能够保证数据强一致性。

    PXC执行流程

    3.2 MHA与PXC

    • MHA主要写入速度很快,但数据不是强一致性,适合存储低价值的数据,如:权限、通知、日志、商品数据、购物车等等。
    • PXC保证数据强一致性,但写入速度慢,适合存储高价值的数据,要求数据强一致性,如:账户,订单,交易等等。

    4. 推荐方案

    相关文章

      网友评论

        本文标题:MySQL高可用、高负载、高性能架构

        本文链接:https://www.haomeiwen.com/subject/lwczrctx.html