数据库读写分离的这些坑,让我一脸懵逼!
Java后端技术
共 2881字,需浏览 6分钟
·
2020-12-14 13:04
往期热门文章:
前言
业务人员通过管理后台新增映射规则 数据库新增、修改这条映射规则 删除缓存
数据库系统架构发展
主备架构
主从架构
主从延时解决办法
忍受大法
数据同步写方案
业务系统发起写操作,数据写主库 写请求需要等待主从同步完成才能返回 数据读从库,主从同步完成就能读到最新数据
选择性强制读主
中间件选择路由法
写请求,中间件将会发到主库,同时记录一下此时写请求的 key(操作表加主键等) 读请求,如果此时 key 存在,将会路由到主库 一定时间后(经验值),中间件认为主从同步完成,删除这个 key,后续读将会读从库
缓存路由大法
写请求发往主库,同时缓存记录操作的 key,缓存的失效时间设置为主从的延时 读请求首先判断缓存是否存在 若存在,代表刚发生过写操作,读请求操作主库 若不存在,代表近期没发生写操作,读请求操作从库
总结
忍受大法 数据库同步写方案 选择性强制读主 中间件选择路由法 缓存路由大法
往期热门文章:
1、《历史文章分类导读列表!精选优秀博文都在这里了!》
2、如何设计订单系统?这篇写得太好了! 3、如果MySQL磁盘满了,会发生什么?还真被我遇到了! 4、GitHub 标星 1.3k+,一款超赞的用于字符串处理的 Java 8 库 5、阿里开源的27个项目,值得收藏! 6、面试官:String长度有限制吗?是多少?还好我看过 7、贞炸了!上线之后,消息收不到了! 8、又一批长事务,P0故障谁来背锅? 9、花30分钟,用Jenkins部署码云上的SpringBoot项目 10、太火了!MyBatis Plus 为啥这么牛?
评论