16307人购买许令波

前阿里巴巴高级技术专家

本专栏由前阿里巴巴高级技术专家许令波创作并维护。

许令波,花名“君山”,2009 年加入淘宝,一直关注性能优化领域,经历了淘宝 PV 从 1 亿到 50 亿的发展历程,参与了淘宝高访问量 Web 系统模板引擎的改造、静态化、无线化、CDN 等优化改造项目。任职期间,他一直参与淘宝高访问量的系统页面详情系统的优化工作,设计并实现了 sketch 模板引擎将服务端性能提升近 30% 左右。

“秒杀”,就是在同一个时刻有大量请求争抢购买同一个商品,并完成交易的过程,其间涉及大量的并发读和并发写,并要求高可靠和高性能的系统支持。

也因此,“秒杀”对于程序员来讲也意味着巨大的挑战。如何让系统面对百万级的请求流量不出故障?如何保证高并发情况下数据的一致性写?如何在不堆服务器的情况下应对是平时数百上千倍的并发访问?如何分别针对大流量的读写请求进行服务端的极致优化?你都将在这个专栏里找到答案。

本专栏希望带你透彻理解秒杀系统的各个关键技术点,希望你在学完之后,能够快速搭建一套满足自己业务场景的高可用秒杀系统。而更多的是,我们希望借助“秒杀”这个互联网高并发场景中的典型代表,带你了解如何打造一个超大流量并发读写、高性能,以及高可用的系统架构。

专栏模块

本专栏共 7 期,分为三大模块。

  • 高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本专栏将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。
  • 一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,我将用一篇文章来专门讲解如何设计秒杀减库存方案。
  • 高可用。 虽然我介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。专栏的最后,我将带你思考可以从哪些环节来设计兜底方案。

订阅须知

  1. 本专栏为订阅专栏,形式为图文 + 音频,共计 7 期,定价 19.9 元,现已更新完毕。订阅成功后,即可通过“极客时间”App 端、小程序端、Web 端永久阅读。
  2. 企业批量购买请点击极客时间 VIP 年卡了解详情。
  3. 本专栏为虚拟商品,一经订阅,概不退款。
  4. 在专栏阅读过程中,如有任何问题,请邮件联系 service@geekbang.org。