MariaDB知识点总结03--从主+多主集群

一.从主架构

1.从主复制原理

从库生成两个线程,一个I/O线程,一个SQL线程;

i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

2.主从架构特点

主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,

因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构来搭建。

(1).读写分离并实现负载均衡

主从架构如何实现读写分离?需要通过mycat读写分离器来设置,当从客户端发出写权限的SQL语句(如:delete等)时,mycat会将其转发给主数据库;

当从客户端发出读权限的SQL语句(如:select等)时,mycat会将其转发给从数据库。这样就实现了主从库的读写分离,避免主数据库的负载过大。

同时当一主多从架构,为了实现从数据库的负载均衡,可以在mycat上再添上LVS,将读权限的语句请求根据算法转发到从数据库上。

(2).如何预防单点故障(主数据库宕机了。。)

方案一:MHA监控

 工作原理:

MHA通过部署在主从集群上的node节点,时刻监控集群上的master节点,当master宕机了,那么MHA会立刻从集群中选出一个从节点来

顶替主节点。从而实现集群的高可用即预防单点故障。

方案二:主主架构

即互为主备,互相监控对方的二进制日志文件进行同步。不过这种方式要注意:可能会出现数据不一致情况。

因为同步是异步同步,可能没有及时同步数据,导致数据不一致。

猜你喜欢

转载自www.cnblogs.com/Super-It/p/11431587.html
今日推荐