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

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

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

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

  • 常见的集群方案 

  1. 1 Replication

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

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

  1. 2 PXC(Percona XtraDB Cluster)

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

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

稳定。

  • PXC原理

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

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

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

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

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

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

 

  • PXC的数据强一致性

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

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

  • 不同集群效果展示

  1. 1 Aplication 

1)复制

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

2)弱一致性

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

  1. 2 PXC

1)双向同步

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

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

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

  • 总结

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