MySQL-主从复制(一)

**

MySQL-主从复制(一)

**

如何实MySQL的读写分离?
MySQL主从复制的原理是啥?
如何解决MySQL主从同步的延时问题?

从面试官的心里分析
高并发这个阶段 肯定需要做读写分离 在大多网站上其实是读多写少 针对这个情况
解决方案 写一个主库 但是主库挂多个从库 然后从多个从库读 这样解决高并发压力问题

MySQL是如何读写分离?
基于主从复制架构 简单的说 搞一个主库 挂多个从库 然后单单只是写主库 主库会自动把数据同步到从库上去

MySQL主从复制的原理
大白话: 主库写入binlog日志 然后从库通过链接主库 从库有一个io线程 将主库binlog日志拷贝到自己本地 然后 从库有一个sql线程从日志中读取内容 然后执行binlog日志中的内容 也就是在执行一遍sql 这样就保证根主库的数据一样
在这里插入图片描述

有一个问题 从库同步主库过程是串行化的 意思是说 主库上并行操作在从库上是串行执行的 从库从主库拷贝binlog日志是串行执行sql 在高并发的情况下 从库数据一并比主库慢 有延时的 会经常出现 刚写入主库的数据可能读不到 要几十毫秒或者几百毫秒

在这里插入图片描述

一个问题 如果主库突然宕机 然后数据恰好没有同步到从库 可能从库上没有数据 导致数据可能丢失
解决方案 :
MySQL有两个机制:
半同步复制 解决主库数据丢失问题
主库写入到binlog日志后 强制把数据同步到从库 从库把日志写入自己本地log之后 会返回一个ack 给主库 主库接收到从库ack才会操作完成
在这里插入图片描述

并行复制 解决主从同步延时问题

从库开启多个线程 并行读取binlog 不同的日志 并行重放不同库的日志 这是库级别的并行

在这里插入图片描述

MySQL主从同步延时问题

主从复制延时大概在小几十毫秒 每天总有那么一些数据 我们期望更新一些重要的数据状态 但在高分期时候却发现没有更新

如果主从延迟较为严重 解决方案
分库 将一个主库 拆分为多个主库 每个主库写并发就减少了
在这里插入图片描述
如果确实存在必须插入立马要求查询到 然后立马就要返回过来执行一些的操作 设置直连主库 不推荐 (读写分离的意义就没了)

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值