1.概述
由于高并发和分布式的兴起,使得MySQL数据库单节点已经不能满足生产日常的要求了,所以就有了MySQL集群的搭建。
针对于常用的MySQL集群,主要有PXC和RP两种模式。
2. PXC
PXC 全称 Percona XtraDB Cluster,它是基于mysql自带的一种集群技术 Galera做的改进来实现的一种数据库集群方案,它有一个很明显的特点就是任何节点都是可读写的,都可以被充当主节点来使用的。
它是数据强一致性的,只要在任何一个节点种写入数据其他的节点种肯定会同步到这条数据的。
2.1 PXC原理:
我们使用UML图来介绍一下PXC的执行过程。
这里我们用PXC中3个DB节点来介绍其原理,分别是DB1 DB3 和DB3, 数据的同步使用PXC。
先从clent说起 clent在执行insert del update 的时候,正常db1会给我们返回执行的结果,如果我们不提交事务的话是不能持久化到数据库中的,我们想要真实的持久化就必须要提交事务。
这里在提交事务的时候不仅仅要在当前节点里面持久化数据还要在其他节点持久化数据,毕竟我们是在pxc环境中操作的。
首先在提交事务的时候,db1会把数据传递给pxc,pxc会复制当前节点的数据,然后分发给DB2和DB3,分发后要做的就是持久化这些数据