1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > MySQL数据库集群之PXC方案---PXC简介

MySQL数据库集群之PXC方案---PXC简介

时间:2020-04-13 09:28:34

相关推荐

MySQL数据库集群之PXC方案---PXC简介

如何搭建并使用数据强一致性的MySQL集群?

通常大家熟知的mysql集群采用的是Replication方案,Replication采用的是节点之间异步传输,无法保证数据的一致性,属于弱一致性。Replication事务机制是保证当前节点提交成功,并不保证数据同步成功。

比如下边这种情况,当我们往第一台mysql数据库写入数据,然后提交事务成功,然后因为网络原因这条数据并没有同步到另一个mysql节点,当我们通过读写分离的方式,向第二胎mysql数据库发送读请求的时候,无法读到刚才写入的数据。这就是数据库集群同步采用异步传输呈现出的弱一致性出现的危害。

本文讲解的PXC方案采用的是数据强一致性,数据的强一致性100%保证往一个节点上写入数据,一定会同步到其余的mysql子节点中。

比如如下图,我们在第一台mysql节点写入数据,本地事务提交成功之后,pxc还要保证每一个mysql节点的事务都提交成功才算成功写入。

像上边写到的数据同步不一致的情况在pxc集群中绝对不会出现。pxc集群才是存储关键数据的最佳方案

在之后的博客会按下图的架构实现数据库集群

因为要实现数据库集群,我们需要同时运行多台虚拟机,所以对硬件要求较高。

硬件环境:

cpu: 英特尔i5以上内存: 8G内存以上硬盘: 100GB闲余空间

软件环境:VMWare虚拟机+CentOS7.*Navicat 或者 DataGripJDK1.8 在上图中我们的集群方案里使用了mycat中间件,mycat中间件是基于java的,所以需要jdk环境

我们要搭建的pxc集群是三个pxc节点的集群,我们不能搭建2节点的pxc集群,为了防止脑一半以上的节点无法访问的情况下,集群会自动停止运行,如果我们配置2节点pxc集群,一旦一个节点挂掉了,恰好是一半节点不能访问,那么剩下的节点也无法使用了。这种方式的容灾性特别不好。假设是三个节点pxc集群,即便dangji宕机一个节点,我们还有2个节点可以使用,高可用性会更好一些。pxc集群增加多一些的节点,pxc集群的高可用性会更加好。一定要记住一半以上的节点宕机时pxc集群就无法使用

MySQL衍生版对比

官方版的mysql数据库开源了源代码,有二次开发能力的企业可以选择mysql官方版二次开发,没有二次开发能力的企业建议使用Percona.

所以在后续的数据库集群PXC方案中的数据库我们采用Percona数据库。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。