300分钟吃透分布式缓存,微博大神教你支撑百万QPS的核心技术

lazy - 300分钟吃透分布式缓存,微博大神教你支撑百万QPS的核心技术

背景介绍

  • 2018年10月16日,新浪微博又一次迎来“官宣”,瞬间流量暴增击垮服务器。
  • 2018年11月11日,淘宝 App 大量的订单,导致用户无法修改邮寄地址。
  • 2019年9月,周杰伦新专辑发布,QQ 音乐迎来短暂宕机。

这些场景的产生,都与缓存技术有着密不可分的关系。新浪微博在2019 年日活用户超 2亿,每日新发 Feed 1~2亿,历史数据高达千亿级。核心接口可用性要达到 99.99%,响应时间在 10~60ms 以内,核心单个业务的数据访问量高达百万级 QPS。

如果数据信息都从 DB 中加载,将会是一个无法忍受的漫长等待过程,而支撑新浪微博的,便是良好的架构和优秀的缓存体系,甚至可以说:缓存技术,是提升系统性能、改善用户体验的唯一解决之道。

在新浪微博一线工作十余年的陈波老师,在微博 Feed 流及分布式储存具有多年的实战经验。课程从底层原理开始,再现穿透、雪崩等六大经典问题和解决方案。从核心基础入手,加强 Memcached 和 Redis 进阶知识点,升级到讲解分布式缓存 CAP。

内容会以 3 个实际应用场景为例,深度分析缓存在秒杀系统、计数器、Feed 流中的应用,可以帮助你收获不同场景下、不同设计策略的启发,给你一套完整的缓存系列能力进阶图谱。

你会学到什么?

1.掌握redis/Memcached底层实现与高级特性
2.剖析缓存在秒杀、计数器、Feed流中的应用
3.掌握大规模穿透、雪崩等经典问题的解决方案
4.揭秘新浪微博的百万级QPS技术核心

课程目录

第一章:缓存的原理、引入及设计
第01讲:业务数据访问性能太低怎么办?
第02讲:如何根据业务来选择缓存模式和组件?
第03讲:设计缓存架构时需要考量哪些因素?
第二章:7大缓存经典问题
第04讲:缓存失效、穿透和雪崩问题怎么处理?
第05讲:缓存数据不一致和并发竞争怎么处理?
第06讲:Hot Key和Big Key引发的问题怎么应对?
第三章:Memcached的原理及架构剖析
第07讲:MC为何是应用最广泛的缓存组件?
第08讲:MC系统架构是如何布局的?
第09讲:MC是如何使用多线程和状态机来处理请求命令的?
第四章:Memcached进阶
第10讲:MC是怎么定位key的?
第11讲:MC如何淘汰冷key和失效key?
第12讲:为何MC能长期维持高性能读写?
第13讲:如何完整学习MC协议及优化client访问?
第五章:分布式Memcached实战
第14讲:大数据时代,MC如何应对新的常见问题?
第15讲:如何深入理解、应用及扩展 Twemproxy?
第六章:Redis原理、协议及使用
第16讲:常用的缓存组件Redis是如何运行的?
第17讲:如何理解、选择并使用Redis的核心数据类型?
第18讲:Redis协议的请求和响应有哪些“套路”可循?
第七章:Redis进阶(上)
第19讲:Redis系统架构中各个处理模块是干什么的?
第20讲:Redis如何处理文件事件和时间事件?
第21讲:Redis读取请求数据后,如何进行协议解析和处理?
第22讲:怎么认识和应用Redis内部数据结构?
第八章:Redis进阶(下)
第23讲:Redis是如何淘汰key的?
第24讲:Redis崩溃后,如何进行数据恢复的?
第25讲: Redis是如何处理容易超时的系统调用的?
第26讲:如何大幅成倍提升Redis处理性能?
第九章:分布式Redis实战
第27讲:Redis是如何进行主从复制的?
第28讲:如何构建一个高性能、易扩展的Redis集群?
第29讲:从容应对亿级QPS访问,Redis还缺少什么?
第十章:深入分布式缓存
第30讲:面对海量数据,为什么无法设计出完美的分布式缓存体系?
第31讲:如何设计足够可靠的分布式缓存体系,以满足大中型移动互联网系统的需要?
第32讲:一个典型的分布式缓存系统是什么样的?
第十一章:应用场景案例解析
第33讲:如何为秒杀系统设计缓存体系?
第34讲:如何为海量计数场景设计缓存体系?
第35讲:如何为社交feed场景设计缓存体系?

发表评论

电子邮件地址不会被公开。

联系我们

侵权投诉:nerds@nigaea.com

工作时间:周一至周五,9:30-18:00,节假日休息

QR code