• 企业主流MySQL高可用集群


    选型

    目前最流行的是:主从复制、基于Galera的方案

    企业主流MySQL高可用集群

    了解 MySQL 集群之前,先看看单节点数据库的弊病:

    • 大型互联网程序用户群体庞大,所以架构需要特殊设计。
    • 单节点数据库无法满足大并发时性能上的要求。
    • 单节点的数据库没有冗余设计,无法满足高可用。
    • 单节点 MySQL无法承载巨大的业务量,数据库负载巨大。

    一、MHA

    属于是读(从)写(主)分离,主从复制

    MHA,即MasterHigh Availability Manager and Toolsfor MySQL,是日本的一位MySQL专家采用Perl语言编写的一个脚本管理工具,该工具仅适用于MySQL Replication 环境,目的在于维持Master主库的高可用性。

    MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步).

    Replication 采用异步复制,无法保证数据的一致性。

    Replication集群写入操作:
    在这里插入图片描述
    当一个写入请求到达 Master数据库时,Master数据库执行写入操作,然后 Master 向客户端返回写入成功,同时异步的复制写入操作给 Slave数据库,如果异步复制时出现问题,从数据库将无法执行写入操作,而客户端得到的是写入成功。这也是弱一致性的体现

    详见:https://blog.51cto.com/sumongodb/1951495

    二、MM+keepalived

    双主配合keepalived这种架构设计,也是基于主从复制的原理而搭建的。

    使用MySQL主主复制技术+Keepalived是一种简单、便捷的解决方案,在高可用集群环境中,keepalived使用VIP,使用Keepalived自带的服务监控功能和自定义脚本来实现MySQL故障时自动切换,非常灵活。

    详见:https://blog.51cto.com/sumongodb/1953244

    三、PXC(基于GaLera协议)

    PXC是percona公司的percona xtraDB cluster.简称PXC。它是基于GaLera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性。

    PXC 采用同步复制,事务在所有集群节点要么同时提交,要么不提交。

    下面看看 PXC写入操作:
    在这里插入图片描述
    当一个写入请求到达PXC集群中的一个 mysql(node1数据库) 数据库时,node1数据库会将该写入请求同步给集群中的其他所有数据库,等待所有数据库都成功提交事务后,node1节点才会将写入成功的结果告诉给 node1的客户端。

    PXC 的强一致性对保存高价值数据时特别重要。

    详见:https://blog.51cto.com/sumongodb/1956086

    PXC方案 和 Replication方案对比

    两种集群方案特性如下图:
    在这里插入图片描述

    1. 先看看 PXC方案
      在这里插入图片描述
      很明显 PXC方案在任何一个节点写入的数据都会同步到其他节点,数据双向同步的(在任何节点上都可以同时读写)。

    2. Replication 集群方案:
      在这里插入图片描述
      Replication方案只能在Master数据库进行写操作,在Slave数据库进行读操作。如果在Slave数据库中写入数据,Master数据库是不能知道的(单向同步的)。


    作者:不敲代码的攻城狮
    出处:https://www.cnblogs.com/leigq/
    任何傻瓜都能写出计算机可以理解的代码。好的程序员能写出人能读懂的代码。

     
  • 相关阅读:
    宝塔面板定时/同步备份网站及数据库至FTP存储空间完整教程
    Heroku是部署又是网站空间? github是仓库
    python批量添加hexo文章封面
    hexo史上最全搭建教程
    小皮面板一款好像还不错的 Linux 管理面板
    [Python] Hexo博文图片上传图床并自动替换链接的Python脚本
    5分钟搞定个人博客-hexo
    python的嵌入式开发
    Windows Embedded CE 6.0开发环境的搭建(2)
    EPLAN中的edz文件的用法
  • 原文地址:https://www.cnblogs.com/leigq/p/13406578.html
Copyright © 2020-2023  润新知