#后端
共 15 期服务器上的那些事。
其他专题:网络基础数据库高并发高可用服务端缓存事务性能分布式事务全局唯一ID分库分表主从复制锁索引熔断降级幂等限流消息队列浏览器缓存负载均衡CDN缓存CookieSessionDNSHTTPSHTTP
-
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
数据库明明有数据,为什么还要再存一份?
服务端缓存如何把常用数据放在数据库前面,让网站不用每次都去查数据库。