主从同步原理
- 从节点把主节点binlog日志复制到本地,然后执行日志中的SQL语句,从而实现数据同步
- 主从同步一定是从主节点同步数据到从节点,从节点里面是不能写数据不然,主从同步会失效
原理简图如下:
下图比较详细是借鉴其他大神的:
一主多从架构
- 通常来说,大部分业务系统都是读多写少的,所以主节点的压力还不是很大,而从节点的压力会大一些,这时可以给主节点配置更多的的从节点。
- 同时可以让中间件mycat等工具把SELECT语句分发给从节点去执行。
一、从节点太多会发生什么?
如果从节点太多,就会消耗主节点的网络资源,导致同步数据变慢,会出现以下的问题
- 从节点不能及时的同步数据,导致延时严重
- 影响主节点的写入事务提交
所以一般来说主节点的硬件配置,带宽这块会优于从节点,同时为了防止主节点的资源消耗过大,同步慢的问题,需要引入中继节点(通过一个从节点,再分发给其他从节点 )来提升同步速度
二、如何来防止主节点挂掉?
- 为了实现主节点的高可用,可以配置双主节点的集群,这样子主节点在挂掉后,另一个冗余节点来充当主节点。
- 同时在配置是这两个节点的数据是双向同步的(两者都是master-slave角色)。