MySQL常用集群方案-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

MySQL常用集群方案

简介: 了解 MySQL 集群之前,先看看单节点数据库的弊病: 大型互联网程序用户群体庞大,所以架构需要特殊设计。 单节点数据库无法满足大并发时性能上的要求。 单节点的数据库没有冗余设计,无法满足高可用。

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

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

一、常见 MySQL 集群方案

  • Repliaction 集群方案
  • PXC 集群方案( Percona XtraDB Cluster )

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

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

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

3. PXC 数据的强一致性

PXC 采用同步复制,事务在所有集群节点要么同时提交,要么不提交。 
Replication 采用异步复制,无法保证数据的一致性。

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

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

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

原文地址 https://blog.csdn.net/annotation_yang/article/details/80860988

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章