后台改了价格,页面怎么还是旧的?
后台改了价格,刷新页面还是旧价。这一期讲缓存和数据库一致性:删缓存还是更新缓存、先改库再删缓存、删失败了怎么补(消息队列重试 / 订阅 binlog)、主从延迟和过期时间兜底。
全部期数
-
4:47 EP.22NEW
后台改了价格,页面怎么还是旧的?
后台改了价格,刷新页面还是旧价。这一期讲缓存和数据库一致性:删缓存还是更新缓存、先改库再删缓存、删失败了怎么补(消息队列重试 / 订阅 binlog)、主从延迟和过期时间兜底。
-
4:28 EP.21NEW
两个库,怎么一起成功或一起失败?
下单付了钱,仓库却没扣库存。两个库,怎么一起成功或一起失败?这一期讲分布式事务:两阶段提交、TCC、Saga 和可靠消息。
-
1:33 EP.20NEW
两个订单,怎么撞成同一个号了?
红站蓝站各打出一个一模一样的订单条码。两个订单,怎么撞成同一个号了?这一期讲全局唯一 ID 和雪花算法。
-
2:12 EP.19
大促一到,下单怎么就卡住了?
大促零点一过,下单按钮转了半天圈。原因可能有很多,今天说其中一个:所有订单都挤在一台数据库、一张表里。这一期讲分库分表。
-
2:32 EP.18
刚改的昵称,怎么又变回去了?
刚改完昵称,一刷新又变回旧的了。你的修改其实没丢,你只是读到了一台还没跟上的「从库」。这一期讲主从复制和读写分离。
-
2:10 EP.17
两个人抢同一件货,听谁的?
数据库锁入门:接上期「整单重来」,用两个人抢同一件 T 恤讲清丢失更新、读锁和写锁、行锁和表锁、等锁与死锁,以及悲观锁和乐观锁。
-
1:30 EP.16
没封箱的包裹,别人看得见吗?
事务隔离级别入门:接上期「包裹」比喻,讲清别人没封箱的改动能不能被你看到,以及脏读、不可重复读、幻读。
-
1:15 EP.15
扣了钱,对方没到账?
数据库事务入门:转账拆成两步,用「同一个包裹」打比方,讲清事务、提交、回滚和原子性。
-
2:08 EP.14
加个索引,为啥就快了?
数据库索引入门:用一本厚书打比方,讲清全表扫描、索引、B+ 树(多层目录),以及索引为什么不是越多越好。
-
2:09 EP.13
一个服务出故障,为什么整个网站没跟着崩?
熔断:结算页调用的运费险服务(举例)持续故障时,及时跳闸、快速失败,阻止雪崩(级联故障),下单付款照常;讲清关闭、打开、半开三种状态,以及熔断要和超时一起用。
-
1:52 EP.12
搜索页和结算页,为什么两个价不一样?
降级:红包服务出问题时先不算红包,保住到手价计算;大促时主动关掉非核心功能,把资源留给购物车和结算页。
-
2:10 EP.11
手一抖点了两次支付,为什么只扣一次钱?
幂等如何让同一笔支付无论重试多少次,都只扣一次钱。
-
2:11 EP.10
抢票那一刻,为什么总提示系统繁忙?
限流如何在门口限量放人,让网站扛住抢票高峰,不被一下子挤垮。
-
2:20 EP.09
双十一下单那么多,为什么不丢单?
消息队列如何让网站先收下订单、再按自己的节奏处理,扛住高峰也不丢单。
-
2:12 EP.08
数据库明明有数据,为什么还要再存一份?
服务端缓存如何把常用数据放在数据库前面,让网站不用每次都去查数据库。
-
2:20 EP.07
同一张图,为什么第二次打开不用再下?
浏览器缓存如何把下载过的东西存在本地,让网页第二次打开秒出图。
-
2:11 EP.06
为什么一家店忙不过来,还要开好几家一起干?
负载均衡如何把请求分给多台服务器,让网站人再多也扛得住。
-
2:13 EP.05
网站离你那么远,为什么还这么快?
CDN 如何把内容放到就近的地方,让远方的网站也能秒开。
-
1:35 EP.04
网站怎么记住你已经登录?
刷新、换页后网站还认得你,可服务器不会自己把前后两次访问连起来。讲清一次登录怎样拿到编号存成 Cookie、每次访问自动带上、服务器按编号查到会话认出你,以及退出时怎样作废。
-
2:05 EP.03
输入网址后,怎么找到服务器?
在地址栏敲下 shop.example,页面为什么还空着?讲清浏览器怎样先按域名查到 IP 地址:本地缓存、递归解析器,从根问到顶级域,再由权威服务器给出答案,以及 TTL 管多久。
-
2:46 EP.02
HTTPS 为什么安全?
在咖啡馆连公共无线网登录,密码会被人看到吗?讲清 HTTPS 怎样靠加密、各自算出钥匙、证书核对身份和防篡改保护传输,以及地址栏小锁管什么、不管什么。
-
3:10 EP.01
浏览器输入网址后发生了什么?
从按下回车到页面出现,用五步讲清缓存、DNS、连接、HTTP 请求与响应、浏览器渲染,理解同一个网页为什么有时秒开、有时转圈。
这个系列还没有片子