如何设计一个秒杀系统
大并发高可用秒杀系统的设计之道
许令波
前阿里巴巴高级技术专家
23217 人已学习 · 已完结

移动设备学习

App Store 下载

Android 下载

扫描二维码下载客户端

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

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

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

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

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

专栏模块

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

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

限时福利

  1. 订阅后,分享专属海报,每邀请一位好友订阅有奖励。
  2. 戳此添加社群管理员,进入技术交流 & 福利群

订阅须知

  1. 本专栏为订阅专栏,形式为图文 + 音频,共计 7 期,定价 19.9 元,现已更新完毕。订阅成功后,即可通过“极客时间”App 端、小程序端、Web 端永久阅读。
  2. 企业批量购买请点击“企业充值”了解详情,可支持员工选课,企业支付。
  3. 本专栏为虚拟商品,一经订阅,概不退款。

看过的人还看了

从0开始学架构

李运华  资深技术专家

59讲 | 38968 人已学习

拼团 ¥79 原价 ¥99
Java核心技术面试精讲

杨晓峰  前Oracle首席工程师

43讲 | 43250 人已学习

拼团 ¥79 原价 ¥99
趣谈网络协议

刘超  网易研究院云计算技术部首席架构师

51讲 | 39583 人已学习

拼团 ¥79 原价 ¥99
数据结构与算法之美

王争  前Google工程师

75讲 | 71636 人已学习

拼团 ¥79 原价 ¥99

Copyright © 2019, The Holding of GeekBang (Beijing) Co., Ltd. All rights reserved. 极客邦控股(北京)有限公司 | 京 ICP 备 16027448号-3. 京公网安备 11010502037384号增值电信业务经营许可证

联系我们

010 - 53934972

service@geekbang.org

北京市朝阳区容和路1号院1号楼5层