Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍

  • 目录

    前言

    单节点数据库疾病

    单节点MySQL的性能瓶颈

    常见的集群方案 

    PXC原理

    PXC方案与Replication方案的对比

    PXC的数据强一致性

    不同集群效果展示

    总结


  • 前言

​​​​​​​有了docker虚拟机,我们就利用虚拟机平台部署数据库集群,本文章重点讲述数据库集群的方案和各自的特点,平时我们在开发的过程中都是使用单节点数据库实例,谈不上高性能、高可用。

  • 单节点数据库疾病

  1. 大型互联网用户群体庞大,所以框架必须要特殊设计
  2. 单节点的数据库无法满足性能上的要求
  3. 单节点的数据库没有冗余数据,无法满足高可用
  • 单节点MySQL的性能瓶颈

  1. 2016年春节微信红包巨大业务量,数据承受巨大负载

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第1张图片

  • 常见的集群方案 

  1. 1 Replication

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第2张图片

在Replication的集群里面,A节点写入的数据不一定保证分发到集群的其他节点上,即在A节点写入的数据,B节点查不到(弱一致性);因为弱一致的特点无法存储高价值数据。

  1. 2 PXC(Percona XtraDB Cluster)

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第3张图片

存储数据较慢,但是能保证A节点写入的数据分发到集群的其他节点上(强一致性),如淘宝,所以说它很成熟、

稳定。

  • PXC原理

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第4张图片

  1. 在PXC中任何一个数据库节点都是可读可写的,如在第一个节点里面写入数据,在其他节点就能读取这条数据。
  2. 建议PXC使用PerconaServer(MySQL改进版,性能提升很大)
  • PXC方案与Replication方案的对比

  1. 1 PXC集群示意图(它的集群是双向的!)

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第5张图片

  1. 2 Replication 集群示意图(同步是单向的,如果在Slave节点写入数据,是不会同步到Master节点)

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第6张图片

 

  • PXC的数据强一致性

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

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第7张图片

  • 不同集群效果展示

  1. 1 Aplication 

1)复制

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第8张图片

2)弱一致性

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第9张图片

  1. 2 PXC

1)双向同步

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第10张图片

2)强一致性性(如果没有分发成功,写入失败)

Docker虚拟机入门(二)--2.1 MySQL 集群方案介绍_第11张图片

  • 总结

PXC是在其他节点写入成功才算是提交成功,Replication的异步同步机制不同,不管同步成功不成功,直接返回客户端写入成功的结果!

 

 

你可能感兴趣的:(框架)