读写分离

简介: 【8月更文挑战第9天】

如果你在小公司工作的话,这部分内容会比较适合你,因为正常中大型公司基本上都已经完成了读写分离。你可以这样介绍你的读写分离方案。

最开始我进公司的时候,就发现他们居然连读写分离都还没做,包括我们的核心数据库都没有,而且当我去看观测数据的时候就感觉核心数据库已经快要触及性能瓶颈了。于是我就在公司里面引入了从库。虽然只是准备了一个从库,但是大部分读请求落到从库上,主库的压力就小多了。引入读写分离机制,一方面可以提高了数据库的可用性,另一方面也提高了查询的性能。

有些时候面试官可能会追问你具体是怎么做的,这里我给出简要步骤。

  1. 准备一个从库。
  2. 改造业务,允许业务动态切换读主库还是读从库。
  3. 切换到读从库,看看是否有问题,如果有问题就立刻回滚。

回答的时候你就可以介绍这个简单方案,同时提出一个主从延迟问题

单库引入读写分离,并不是特别复杂。不过这个过程中要小心主从延迟问题。比如说原本有一个业务是在更新之后立刻读数据,那么就会读到更新后的值。但是如果修改成读从库,就可能还是会读到更新前的值,导致业务出错。在改造业务的过程中要小心这种场景。

你可以利用主从自动切换进一步刷亮点。主从自动切换是指当主库出现问题的时候,能够自动把某个从库提升成主库。

当然如果你们公司本身已经有了读写分离,那么你也可以直接使用这个亮点。

目录
相关文章
|
SQL 存储 关系型数据库
MySQL主从复制、读写分离
MySQL主从复制、读写分离
179 0
|
20天前
|
关系型数据库 MySQL Java
MySQL主从复制实现读写分离
MySQL主从复制(二进制日志)、 Sharding-JDBC实现读写分离
MySQL主从复制实现读写分离
|
3月前
|
SQL 存储 关系型数据库
Mycat 实现分库分表及读写分离
Mycat 实现分库分表及读写分离
59 0
|
5月前
|
SQL 运维 关系型数据库
什么是读写分离?
什么是读写分离?
45 4
|
缓存 算法 搜索推荐
为什么需要读写分离?
为什么需要读写分离?
|
缓存 搜索推荐 数据库
什么时候需要做读写分离?
很多小伙伴可能会认为数据库的负载问题就应该使用“读写分离”来解决。这其实是一个非常大的误区,我们要使用“读写分离”,首先要搞明白“读写分离”能解决什么问题,而不仅仅只会使用这个技术。
132 0
|
SQL 缓存 关系型数据库
|
关系型数据库 MySQL Java
MySQL主从复制+读写分离(二)
MySQL主从复制+读写分离(二)
MySQL主从复制+读写分离(二)
|
SQL 存储 关系型数据库
|
关系型数据库 MySQL 数据库
mysql主从复制与读写分离(二)
mysql主从复制与读写分离(二)
138 0
mysql主从复制与读写分离(二)