第 133 期 2022-06-09 缓存与数据库一致的开源方案

第 133 期 2022-06-09 首个确保缓存与数据库一致的开源方案

YouTube 回看

缓存与数据库的一致性,一直受到大家关注,目前流行的方案,发生以下情况时,都会导致不一致:

很多同学直观地想到通过锁来保证一致性,但依旧不能解决这个问题,见下图:

详情可以参考DDIA作者关于锁的讨论 如何做分布式锁。对于这类问题的通用解决方案是在应用层引入版本,每次写入时,保证旧版本不会覆盖新版本。但是对于缓存应用来说,要求DB层维护版本必定导致应用层做大量的修改,几乎是无法落地的。

本次分享提出了一个无需引入版本,也能够确保最终一致,也可以做到强一致的开源缓存方案 GitHub - dtm-labs/rockscache: The First Redis Cache Library To Ensure Eventual Consistency And Strong Consistency With DB. ,同时该缓存方案还具备防击穿、防穿透、防雪崩等功能

大纲

  • 一致性问题
  • 解决方案与原理
  • 更多特性
  • 总结

分享者自我介绍

我是叶东富,开源分布式事务框架dtm作者,北京大学硕士,常青藤爸爸前CTO。C++开源网络框架handy作者。在分布式事务、高可用、分布式共识、性能优化等领域有深入研究。

计划分享时间

2022-06-09 21:00:00 UTC+8

分享地址

Bilibili 直播:

https://live.bilibili.com/h5/11171965

Slides

首个确保与数据库一致的缓存方案.pdf (501.8 KB)

参考资料

redis 在新版本中引入function替换lua