系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
数据库不一致性问题
在没有引入缓存的时候,数据库的主从架构主要会有因为主从延迟而造成的主从不一致的问题。
在主从同步延迟的时间窗内,发生写后立即读,就会读到从库的旧数据。
主从不一致的影响时间是短暂的,主从同步完成影响就会消失。
数据库与缓存不一致性问题
数据不一致的本质原因是数据冗余,只要引入数据冗余就一定会引发数据不一致问题。
按照上图的时序,缓存里面会存入一个旧数据,而且这一不一致会造成较长时间的影响,我们就需要设计方案来处理这一问题。常用的方法有二次淘汰法和设置超时时间。
不一致性优化
二次淘汰法
二次淘汰法主要分为异步淘汰和服务淘汰:
异步淘汰由第三方线下更具来完成: