MySQL Note12: MySQL 集群

MySQL Note12: MySQL 集群

集群

MySQL集群

  • PXC集群强调读写的一致性,所以适合保存一些关键数据,比如金钱,账户,商品,这些容易产生财务纠纷的数据。
  • Replication集群 不强调读写的一致性,所以不适合保存有价值或者关键的数据,它适合处理一些海量且有鲁棒性强的数据,这类数据一般是用做统计类的。比如商品的与客户的喜好关系。

MySQL高可用方案

官方集群的部署方案

  1. MySQL Replication:主从复制
  1. MySQL Fabirc:一主多从的结构,MySQL Fabirc只有一个主节点,区别是当该主节点挂了以后,会从从节点中选择一个来当主节点。
  1. MySQL Cluster:多主多从结构的
notion image

第三方

  1. MMM(Master Replication Manager for MySQL):是双主多从结构,是Google的开源项目
  1. MHA(Master High Availability):是多主多从结构,是日本DeNA公司的youshimaton开发,
  1. Galera Cluster:是由Codership开发的MySQL多主结构集群

依托硬件配合

  1. heartbeat+SAN:SAN:共享存储,主库从库用的一个存储。SAN的概念是允许存储设施和解决器(服务器)之间建立直接的高速连接,通过这种连接实现数据的集中式存储。
  1. heartbeat+DRDB:DRDB:这是linux内核板块实现的快级别的同步复制技术。通过各主机之间的网络,复制对方磁盘的内容。

其他

  1. Zookeeper + proxy:Zookeeper使用分布式算法保证集群数据的一致性,使用zookeeper可以有效的保证proxy的高可用性,可以较好的避免网络分区现象的产生。
  1. Paxos:分布式一致性算法,Paxos 算法处理的问题是一个分布式系统如何就某个值(决议)达成一致。