📚
280
一杯咖啡的时间,聊聊技术与成长
咖啡养成
连载中 1/20
为什么 Java 工程师绕不开 JVM:从一次线上 OOM 说起
周日早上七点的 OOM 告警,重启后三天又来——不认识 JVM 的工程师,只能永远在重启大法里轮回。内存怎么分、垃圾怎么收、问题怎么查,这个系列把 JVM 从黑盒讲成工具箱。
咖啡养成
写给后端的 Vite 配置指南:从懵到懂
每次前端构建出问题就 copy Stack Overflow?这篇用后端工程师能听懂的语言,拆解 Vite 的依赖预构建、HMR 和打包优化。
咖啡养成
连载中 15/15
收官:秒杀架构全景复盘
回到崩掉的那一晚:同样的 10 万人抢 50 台,现在的系统怎么接——从 CDN 到数据库逐层走一遍。漏斗全景、演进路线与克制的设计:小流量秒杀用不到全套装,过度设计也是事故。
咖啡养成
连载中 14/15
全链路压测与容量规划
单接口压八万、全链路压八百——每个组件的容量账都好算,拼在一起才是真相。影子库隔离压测数据,容量公式加冗余系数,短板决定上限,压测报告要给每层一个结论。
咖啡养成
连载中 13/15
降级与兜底:秒杀挂了也要体面
Redis 不可用、MQ 堆积、风控超时——秒杀链路上没有组件是永远可靠的。降级的本质是有损服务:提前定义哪些损失可接受、谁来决策、开关在哪,预案写在演练里而不是文档里。
咖啡养成
连载中 12/15
数据对账:Redis 与 DB 的最终一致
Redis 扣的、MQ 传的、DB 记的——三个存储三条路径,每个失败分支都是差异来源。总库存恒等式、实时抽样加离线全量、自动修复与人工兜底的分界线,对账是最终一致的最后一块拼图。
咖啡养成
连载中 11/15
幂等与一人一单:重复请求的全量防御
网络重试、用户连点、脚本多打——重复请求防不住,一人一单就是一句空话。幂等令牌挡住九成重复,数据库唯一索引兜住剩下的,两层各自独立生效,重复订单从机制上消失。
咖啡养成
连载中 10/15
订单超时与库存回补:延迟消息的闭环
下单占住库存却不支付,15 分钟后必须有人来收——关单回补是预扣模式的另一半。延迟消息怎么选、关单与支付的竞态怎么解、回补怎么做到不多不少,这篇把闭环补完。
咖啡养成
连载中 9/15
异步下单:MQ 削峰与订单落库
资格扣完的请求不能直接砸数据库——MQ 把两千 QPS 的洪峰削成五百一秒的平稳落库。消息不丢的三段保证、消费端幂等、订单号预生成,把异步链路接成闭环。