zoukankan      html  css  js  c++  java
  • MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    Percona XtraDB Cluster简称PXC。Percona Xtradb Cluster的实现是在原mysql代码上通过Galera包将不同的mysql实例连接起来,实现了multi-master的集群架构。
    下图中有三个实例,组成了一个集群,而这三个节点与普通的主从架构不同,它们都可以作为主节点,三个节点是对等的,这种一般称为multi-master架构,当有客户端要写入或者读取数据时,随便连接哪个实例都是一样的,读到的数据是相同的,写入某一个节点之后,集群自己会将新数据同步到其它节点上面,这种架构不共享任何数据,是一种高冗余架构。

    技术分享
    此方案无法解决较大MySQL数据场景的数据保存问题,即不能实现分库分表,但是提供了一个高冗余的环境,适合于业务不是很大但是要求数据绝对安全的环境。

    Percona XtraDBCluster提供的特性有:

    1.同步复制,事务要么在所有节点提交或不提交。
    2.多主复制,可以在任意节点进行写操作。
    3.在从服务器上并行应用事件,真正意义上的并行复制。
    4.节点自动配置。
    5.数据一致性,不再是异步复制。

    集群特点:
    a.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上。
    b.每个节点都是普通的mysql/percona服务器,可以将现有的数据库服务器组成集群,反之,也可以将集群拆分成单独的服务器。 集群和单机间互换
    c.每个节点都包含完整的数据副本。

    优点如下:

    1.当执行一个查询时,在本地节点上执行。因为所有数据都在本地,无需远程访问。
    2.无需集中管理。可以在任何时间点失去任何节点,但是集群将照常工作。
    3.良好的读负载扩展,任意节点都可以查询。


    缺点如下:

    1.加入新节点,开销大。需要复制完整的数据。
    2.不能有效的解决写缩放问题,所有的写操作都将发生在所有节点上。
    3.有多少个节点就有多少重复的数据。
    4.只支持innodb引擎。
    5.所有表都要有主键。

    Percona XtraDB Cluster与MySQL Replication区别在于:
    分布式系统的CAP理论:
    C— 一致性,所有节点的数据一致;
    A— 可用性,一个或多个节点失效,不影响服务请求;
    P— 分区容忍性,节点间的连接失效,仍然可以处理请求;
    任何一个分布式系统,需要满足这三个中的两个。

    MySQLReplication: 可用性和分区容忍性;
    Percona XtraDBCluster: 一致性和可用性。
    因此MySQL Replication并不保证数据的一致性,而Percona XtraDB Cluster提供数据一致性  强一致性



  • 相关阅读:
    Python并行编程(七):线程同步之事件
    Python并行编程(六):线程同步之条件
    Python并行编程(五):线程同步之信号量
    Python并行编程(四):线程同步之RLock
    Python并行编程(三):线程同步之Lock
    UML关系总结——画uml图、流程图、软件结构图、类图、顺序图的方法
    2020,你好!
    字符串和多维数组
    排序算法
    查找技术
  • 原文地址:https://www.cnblogs.com/EikiXu/p/10148249.html
Copyright © 2011-2022 走看看