知识卡片
缓存承接读压
内容
缓存对秒杀的价值不只是快,更是把大量读请求挡在数据库之前。边界是库存扣减这类强一致写路径不能简单交给缓存,读写职责要分开设计。写路径的风险控制则要靠 [[热点隔离控风险]]。
参考来源
- 位置:《Go语言高级开发与实战》第6章《Go语言秒杀系统实战》(源文件:_epub-src/GoYu Yan Gao Ji Kai Fa Yu Shi Zhan_split_052.html)
- 结论依据:原文说明缓存缩短访问效率并承载底层数据库访问压力,特别适合读多写少场景,因此支撑读压力承接。
- 原始内容:量将请求拦截在上游。 2)充分利用缓存。缓存不但极大地缩短了数据的访问效率,更重要的是承载了底层数据库的访问压力,所以对于读多写少的业务场景要充分利用好缓存。 3)热点隔离。一般来说,秒杀活动是有计划的,并且在短时间内会爆发大量的请求。为了不影响现有业务系统的正常运行,需要把它和现有的系统做隔离,即使秒杀活动出现问题也不会影响现有的系统。隔离的设计思路可以从如下3个维度来思考。 ①业务隔离。既然秒杀是一场活动,