Galera Cluster Mysql数据库集群

https://www.openresty.com.cn/lor_README_zh.html

https://moonbingbing.gitbooks.io/openresty-best-practices/content/postgres/sql_inject.html

http://www.cnblogs.com/huxianglin/p/7263964.html
MariaDB Galera Cluster集群优缺点

Mysql数据库集群
五大常见的MySQL高可用方案

Galera Cluster:一种新型的高一致性MySQL集群架构

Galera Cluster for MySQL是一套基于同步复制的多主MySQL集群解决方案。

原理:

Galera本质是一个wsrep提供者(provider),运行依赖于wsrep的API接口。Wsrep API定义了一系列应用回调和复制调用库,来实现事务数据库同步写集(writeset)复制以及相似应用。目的在于从应用细节上实现抽象的,隔离的复制。虽然这个接口的主要目标是基于认证的多主复制,但同样适用于异步和同步的主从复制。

包括:

Galera Cluster for MySQL、Percona XtraDB Cluster、MariaDB Galera Cluster。

优点:

同步复制
多主服务器的拓扑结构
可以在任意节点上进行读写
自动剔除故障节点
自动加入新节点
真正行级别的并发复制
客户端连接跟操作单台MySQL数据库的体验一致

缺点:

由于同一个事务需要在集群的多台机器上执行,因此网络传输及并发执行会导致性能上有一定的消耗。所有机器上都存储着相同的数据,全冗余。若一台机器既作为主服务器,又作为备份服务器,出现乐观锁导致rollback的概率会增大,编写程序时要小心。不支持的SQL:LOCK / UNLOCK TABLES / GET_LOCK(), RELEASE_LOCK()…不支持XA Transaction
PXC的优点

服务高可用;
数据同步复制(并发复制),几乎无延迟;
多个可同时读写节点,可实现写扩展,不过最好事先进行分库分表,让各个节点分别写不同的表或者库,避免让galera解决数据冲突;
新节点可以自动部署,部署操作简单;
数据严格一致性,尤其适合电商类应用;
完全兼容MySQL;
虽然有这么多好处,但也有些局限性:

只支持InnoDB引擎;
所有表都要有主键;
不支持LOCK TABLE等显式锁操作;
锁冲突、死锁问题相对更多;
不支持XA;
集群吞吐量/性能取决于短板;
新加入节点采用SST时代价高;
存在写扩大问题;
如果并发事务量很大的话,建议采用InfiniBand网络,降低网络延迟;
事实上,采用PXC的主要目的是解决数据的一致性问题,高可用是顺带实现的。因为PXC存在写扩大以及短板效应,并发效率会有较大损失,类似semi sync replication机制。
快速体验Percona XtraDB Cluster(PXC)使用Keepalived+HAProxy实现MariaDB Galera Cluster高可用负载均衡
MariaDB Galera Cluster简介及双主HA实践
其他高可用方案
Ubuntu 16.04 阿里云更新源
# [负载均衡的mariadb集群搭建]

Docker MariaDB 10.3 Galera Cluster 集群同步复制 多主 Docker Haproxy 负载均衡

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository 'deb [arch=amd64,i386] http://mirror.fibergrid.in/mariadbrepo/10.1/ubuntu xenial main'

sudo aptitude update
sudo aptitude search mariadb-server-10.3
sudo aptitude install mariadb-server-10.3

dpkg -L mariadb-server-10.3

sudo netstat anp | grep ssh

MariaDB Galera Cluster(mariadb10.1.22)部署

MariaDB Galera Cluster

你可能感兴趣的:(Galera Cluster Mysql数据库集群)