image.png
问题在于主从数据同步管道延迟是不可知的, 当网络抖动或写入业务高峰期时, 很容易出现数据同步管道延迟, 导致缓存不是最新的数据...., 读写都切换为主库, 这样是可以避免写入的缓存可能不一致的问题。...这种方案问题也在于延迟时间内存在不一致的情况, 即使收到 binlog event 通知后也不一定会通知完所有从库, 同样存在不一致的风险, 但相比指定时间方案来说, 这种方案最大的优势是可以根据系统的实际情况进行删除缓存...被动式缓存对应的是主动式缓存, 指的是当数据发生编辑、新增时, 主动构建缓存, 这种方案可以最大避免因为主从延迟造成的问题, 缺点就是缓存管理成本高, 缓存节点变为有状态节点, 架构不灵活, 缓存污染发现不及时...虽然不能完全能够解决掉一致性问题, 但可以有效缩短不一致时间和机率.