Mysql 读写分离

什么是读写分离

    读写分离就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。

为什么要读写分离

    一般的数据库操作都是写入少读取多,所以主库用于写数据,从库用于读数据,这样就不会因为请求过大而使主库卡死。
    假设,写请求是1000/s 读是5000/s,5000/s 请求,其中,4000/s 在缓存,1000/s 在数据库,数据每秒访问量2000
    2000/s 数据库开始报警,cpu负载过高,4000/S 5000/s …. 直接卡死
在这里插入图片描述
什么情况缓存读不到数据?
1.缓存刚加上去,并没有把数据库
的历史数据导入缓存
2.缓存满了,自动删除了一些不常
用的数据
如何保证数据库的数据保持一致?
主从复制

什么是主从复制

    主从复制就是建立一个和主数据库完全一样的数据库环境,就相当于把主库里的内容完完全全复制到从库中。

如何实现主从复制

在这里插入图片描述
Binlog 日志:增删改的操作会写入
一个日志,这个日志就是binlog日志

Relay日志:用来记录主库传来
的binlog日志

1.产生主从延迟主要看主库的写并发
2.主库写并发达到1000/s 从库的延迟会有几ms
3.主库的写并发达到2000/S 从库的延迟会达到几十毫秒

半同步 复制:主库写入binlog日志后,立即发给从库,
从库写入relay 日志后会返一个ack给主库,
主库至少得到一个ack才认为写操作完成了

并行复制:mysql5.7 以后从库开启多个线程,并行读取重放不同库的日志

Mysql5.6以后 主库的binlog日主也支持并行读取

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值