当前位置: 移动技术网 > IT编程>数据库>Mysql > MysqL应对高并发:读写分离

MysqL应对高并发:读写分离

2020年07月14日  | 移动技术网IT编程  | 我要评论

前言

  • 和用户无关的数据,比如页面配置,商品信息等,每个人请求的数据都相同,缓存的命中率非常高,几乎没有多少请求会穿透到Mysql。
  • 和用户相关的数据,使用缓存的效果就没那么好了,每个人的数据都不同,缓存的命中率不高,还是有想到一部分查询命中不了缓存,打到MySql上。
  • 随着用户量越来越多,打到Mysql上的读写请求也越来越多,当单台Mysql承受不了这么多并发时,应该怎么办。

使用读写分离

  • 当单台Mysql无法满足要求时,只能用多个实例来承担大量的读写请求。
  • 简单有效的方案是,我们不对数据分片,而是使用多个具有相同数据的Mysql实例分担大量的查询请求,之所以能解决问题,实际上时基于读写比大概在几十比一这个客观情况。
  • 读写分离另外的好处时,实施起来简单,只需要把数据库的读写请求分开到不同Mysql实例就可以了。
  • 需要做到:
    • 部署一主多从多个 MySQL 实例,并让它们之间保持数据实时同步。
    • 分离应用程序对数据库的读写请求,分别发送给从库和主库。
  • 读写分离的一个副作用是,可能会存在数据不一致的情况。原因是,数据库中的数据在主库完成更新后,是异步同步到每个从库上的,这个过程有一个微小的时间差,这个时间差叫主从同步延迟。
  • 同一个事务中的查询操作也会被路由到主库,这样来规避主从不一致的问题
  • 对于这种主从延迟带来的数据不一致的问题,没有什么简单方便而且通用的技术方案可以解决,我们需要重新设计业务逻辑,尽量规避更新数据后立即去从库查询刚刚更新的数据

本文地址:https://blog.csdn.net/weixin_40108561/article/details/107310888

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网