您的位置:首页 > 数据库

缓存与db一致性问题

2016-05-19 10:07 190 查看
缓存和数据库架构:

主流方案:用数据service屏蔽缓存和db,读写都走service

非主流方案:异步缓存更新,通过binlog

一缓存与db一致性问题

    原则:先淘汰缓存,再修改db。如果使用更新缓存在修改DB的方案不会出现下列问题

    缓存+主库:

    缓存+主从:双淘汰法(同步,异步timer,binlog分析)

二db主从一致性问题

   不一致原因,主从同步有延迟。

   解决4种方案:

   1半同步复制,等到从库写完,主库再返回,利用数据库原生功能实现。缺点:主库写请求时延增加,吞吐量降低

   2 强制读主库:缺点丛库只用作冗余了,没发挥读写分离优势,智能通过cache来提升性能

   3 数据库中间件:所有读写都走数据库中间件,中间件记录到写库的key,在时间窗口里面读请求路由到主库,主从完成后,路由到丛库

   4 缓存记录key:用一个缓存记录写请求的key,缓存过期时间为时间窗口长度,读请求时先看缓存有没有key,有读主库,无读丛库

                             
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构 缓存 数据库