王磊的个人技术记录 王磊的个人技术记录

记录精彩的程序人生

目录
转载 数据库读写分离 数据同步的一种解决方案
/  

转载 数据库读写分离 数据同步的一种解决方案

首先 分析下 从库读取操作场景。 为什么会不一致? 因为主从同步有延迟,同步频率是

个配置数据库主从同步的属性可配置的,那么我们默认让他1秒钟同步一次。那么这种

延迟导致数据不一致就是发生在这一秒钟之内的未同步而已。

承接上述场景 极端一点,假如我在读取从库时距离主从同步发生还差0.0001毫秒,也就

是说在这个0.0001 毫秒之后我就可以在从库中读取到主从一致的数据了。解决主从同步

导致数据不一致的切入点就在这里。

借助redis 这个缓冲中间件。我们按照某种规则将新增的更新的(此种操作都会发生在

主库操作上)数据按照 用户ID+业务ID+其他业务维度 做成KEY 将其存储在 redis中并

设置失效时间就是1秒; 从库做查询时按照 上述key 去redis 中查找如果存在 则读取主

库,如果不存在说明数据已经同步到了从库直接查从库即可。

此种方案有点投机取巧的意味。但实战过很好用。。。既做到了数据一致性,又最大限

度的做到了主从数据库间的读写分离;
————————————————
版权声明:本文为CSDN博主「逗比骑士」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shukebai/article/details/88670964


标题:转载 数据库读写分离 数据同步的一种解决方案
作者:wanglei03
地址:https://wangleijava.com/articles/2019/12/20/1576831141903.html