前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库主从不一致

数据库主从不一致

作者头像
丁D
发布2022-08-12 21:43:51
4410
发布2022-08-12 21:43:51
举报
文章被收录于专栏:老铁丁D老铁丁D

主从不一致

没缓存的情况下

alt
alt

1.当服务写完主库 2.有一个请求读取从库数据 3.主从同步完成 这时出现主从不一致(写后立即读

处理方案 1.业务允许的情况,直接忽略 2.强制读主节点 3.选择性读主节点

有没有可能实现,只有这一段时间,可能读到从库脏数据的读请求读主,平时读从呢? 即在主从同步这段时间读取主节点,同步完成之后读取从节点

可以利用一个缓存记录必须读主的数据。

alt
alt

如上图,当写请求发生时: (1)写主库 (2)将哪个库,哪个表,哪个主键三个信息拼装一个key设置到cache里,这条记录的超时时间,设置为“主从同步时延” (key的格式为“db_table_PK”)

读请求发生时: 这是要读哪个库,哪个表,哪个主键的数据呢,也将这三个信息拼装一个key,到cache里去查询,如果, (1)cache里有这个key,说明1s内刚发生过写请求,数据库主从同步可能还没有完成,此时就应该去主库查询 (2)cache里没有这个key,说明最近没有发生过写请求,此时就可以去从库查询以此,保证读到的一定不是不一致的脏数据。

参考 https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651961330&idx=1&sn=4bdbada3b26d4fc2fc505f7a0f2ad7c4&chksm=bd2d022e8a5a8b38e59f0dfffba7ca407fe8711644b3794832572dd822c665205bb820cdddf7&scene=21#wechat_redirect

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主从不一致
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档