本专栏由前阿里巴巴高级技术专家许令波创作并维护。
许令波,花名“君山”,2009 年加入淘宝,一直关注性能优化领域,经历了淘宝 PV 从 1 亿到 50 亿的发展历程,参与了淘宝高访问量 Web 系统模板引擎的改造、静态化、无线化、CDN 等优化改造项目。任职期间,他一直参与淘宝高访问量的系统页面详情系统的优化工作,设计并实现了 sketch 模板引擎将服务端性能提升近 30% 左右。
“秒杀”,就是在同一个时刻有大量请求争抢购买同一个商品,并完成交易的过程,其间涉及大量的并发读和并发写,并要求高可靠和高性能的系统支持。
也因此,“秒杀”对于程序员来讲也意味着巨大的挑战。如何让系统面对百万级的请求流量不出故障?如何保证高并发情况下数据的一致性写?如何在不堆服务器的情况下应对是平时数百上千倍的并发访问?如何分别针对大流量的读写请求进行服务端的极致优化?你都将在这个专栏里找到答案。
本专栏希望带你透彻理解秒杀系统的各个关键技术点,希望你在学完之后,能够快速搭建一套满足自己业务场景的高可用秒杀系统。而更多的是,我们希望借助“秒杀”这个互联网高并发场景中的典型代表,带你了解如何打造一个超大流量并发读写、高性能,以及高可用的系统架构。
专栏模块
本专栏共 7 期,分为三大模块。
- 高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本专栏将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。
- 一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,我将用一篇文章来专门讲解如何设计秒杀减库存方案。
- 高可用。 虽然我介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。专栏的最后,我将带你思考可以从哪些环节来设计兜底方案。
限时福利
- 订阅后,分享专属海报,每邀请一位好友订阅有奖励。
- 戳此添加社群管理员,进入技术交流 & 福利群。