Percona XtraDB Cluster (下文简称PXC)是一个开源的mysql 高可用解决方案。它将Percona Server和Percona XtraBackup与Galera库集成在一起,实现同步多主复制。各节点的拓扑结构示意图如下图所示:

  

  

  如图所示,PXC 各节点的地位是对等的,集群中的每个节点都可以用于读写,只要当集群中可用节点的数量处于多数时,整个集群就是可用的,在此基础上加上mysql的监控和 mysql proxy 的流量自动切换,这样就很大程度上解决了 mysql 的高可用问题。

  PXC 有如下的一些特性(优点):

  • 同步复制
    数据要么同时写入所有的节点,要么不写入
  • 多主复制
    集群中每个节点都可以写入数据
  • 并行复制
    在行级复制上支持多线程 (Multiple threads on slave performing replication on row level. )
  • 数据一致性与节点自动同步
    加入集群的节点默认会自动同步
  • 数据兼容性
    支持mysql以及mysql变体(如MariaDB)
  • 应用兼容性
    与 mysql 命令完全兼容

  PXC 的不足之处在于(缺点):

  • 目前只对 InnoDB engine 有比较好的支持,myisam 实现了部分支持
  • 所有的表都需要有主键
  • 不支持分布式事务
  • 由于所有的写操作都需要在所有的节点进行同步,因此集群的服务能力取决于集群中性能最差的一台服务器
  • InnoDB fake changes不支持
  • 有多少个节点就有多少份重复的数据(最少支持两个真实节点加一个仲裁者,仲裁者只参与投票,不存储数据)
  • 不支持LOCK TABLE等显式锁操作
  • 对于改表这样的操作会导致整个cluster阻塞,需要尽量避免
  • 新加入节点开销较大(采用指定节点同步+流量切换的方式一定程度可以解决这个问题)

   

  虽然 PXC 有上述的一些缺点,但是瑕不掩瑜, 个人理解如果使用的数据库都是 InnoDB 引擎,数据条目相对固定(不需要经常改表),不需要支持分布式事务,并且对可用性要求很高,可以考虑采用 PXC。

搭建高可用mysql系列(1)-- Percona XtraDB Cluster介绍的更多相关文章

  1. MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...

  2. 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装

    本文主要介绍在 centos 下 Percona XtraDB Cluster(下文简称PXC) 的安装, 个人的系统版本信息如下: [root@c2-d09 worker]# more /etc/r ...

  3. mysql高可用之PXC(Percona XtraDB Cluster)

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1).同步复制,事务要么在所有节点提交或不提交 ...

  4. MySQL集群Percona XtraDB Cluster安装搭建步骤详解

    http://www.linuxidc.com/Linux/2017-05/143501.htm http://blog.csdn.net/thundermeng/article/details/52 ...

  5. Percona XtraDB Cluster

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1.同步复制,事务要么在所有节点提交或不提交. ...

  6. Galera Cluster 实现mysql的高可用 (Percona XtraDB Cluster)

    Galera Cluster 实现mysql的高可用 (Percona XtraDB Cluster) # 基础搭建 # 设备:三台主机 192.168.47.101 192.168.47.102 1 ...

  7. 【Linux】【Database】【MySQL】使用percona搭建高可用的MySQL数据库

    1. 简介 1.1. 官方文档: 数据库架构:https://docs.openstack.org/ha-guide/shared-database.html 1.2. 本次使用的的是Percona ...

  8. 15、高可用 PXC(percona xtradb cluster) 搭建

    安装环境: 集群名 pxc_lk 节点1: 192.168.1.20 节点2: 192.168.1.21 节点3: 192.168.1.22   所有节点安装 wget http://www.perc ...

  9. Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )

    Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题.那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同 ...

随机推荐

  1. springboot面试专题及答案

    声明:此文章非本人所 原创,是别人分享所得,如有知道原作者是谁可以联系本人,如有转载请加上此段话 问题一 什么是 Spring Boot? 多年来,随着新功能的增加,spring 变得越来越复杂.只需 ...

  2. IDEA 现有项目连接SVN

    前言:有时会先搭建好系统,准备好所有配置文件及公共类,然后才会从IDEA中将代码放到SVN中,这里正好讲述了如何从现有代码连接到SVN. 首先将该项目启动SVN管理 然后关联对应SVN地址 右键项目名 ...

  3. CSS页面重构“鑫三无准则”之“无图片”准则——张鑫旭

    一.再说关于“鑫三无准则” “鑫三无准则”这个概念貌似最早是在去年的去年一篇名叫“关于Google圆角高光高宽自适应按钮及其拓展”的文章中提过.这是自己在页面重构的经验中总结出来的一套约束自己CSS的 ...

  4. (文章也有问题,请自行跳过)react中的状态机每次setState都是重新创建新的对象,如需取值,应该在render中处理。

    demo如下 class Demo4StateLearn extends React.Component { constructor(props) { super(props); this.state ...

  5. android studio *.apk does not exist on disk

    Build -> Clean Project Restart Android Studio  

  6. PDW V2培训简记

    最近有幸参加了微软专家进行的为期一周PDW培训,将一些知识点记录如下: 不知道PDW是什么东西的,简单介绍一下:这是微软与HP/Dell合作推出的SQL Server数据仓库一体机,由HP或DELL提 ...

  7. ASP.Net与JSP如何共享Session值

     思路: ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象登录的ASPX文件 ...

  8. oracle截取字符串去掉字段末尾指定长度的字符

    lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 eg: //去掉该 ...

  9. 微信网页IOS上传图片旋转解决方案

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问

    根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问 ...