打造千万级流量秒杀系统,一次搞定高可用、高性能、高并发

打造千万级流量秒杀系统,一次搞定高可用、高性能、高并发

背景介绍

服务器成本高?经常遇见宕机?网站流量一大就出 bug ?……

面对大流量的业务需求,任何一家大厂和高速扩张的企业,都非常需要可以掌握高可用、高性能、高并发 “三高”系统架构设计能力的人才。

可以说,只有掌握了“三高”架构的经验,才能拥有更多成长和晋升机会,也更具竞争优势。

你会学到什么?

如何全面、快速提升相关能力?秒杀系统的业务逻辑非常简单,流程清晰,在互联网“三高”场景中又非常典型,用它来学习“三高”再合适不过。

在这门专栏里,我们会为你呈现一个完整的秒杀项目流程,从需求分析、架构设计、代码实现、性能测试这四大部分,渐次带你设计出符合“三高”要求的秒杀系统,真正搞懂“三高”架构及其实现,并举一反三,轻松搭建其他满足业务需求的“三高”架构。

第一部分,需求分析:
将从电商发展史和秒杀系统的业务背景入手,介绍秒杀系统的前后端功能需求和非功能需求,特别是如何通过思想实验来分析非功能需求中的“三高”并计算其指标。

通过学习这块内容,我们希望你能掌握“三高”架构的需求分析,不至于在开始之初就手忙脚乱。

第二部分,架构设计:
这部分我们将为你分享秒杀系统的总体架构设计及其具体的高可用、高性能、高并发原理和方法。

你将学到如何通过领域驱动设计(DDD)来设计秒杀系统,如何利用云计算基础设施设计高可用架构,如何利用池化技术、漏斗模型、熔断和限流等技术手段提升并发能力和稳定性。

第三部分,代码实现:
介绍秒杀系统的代码实现细节,希望你能学到如何利用热更新、池化技术、缓存技术、漏斗模型等高级编程技巧,提升服务的并发性能和稳定性。

第四部分,性能测试:
介绍项目落地的最后环节——如何做好验收工作,希望你能学会用压力测试来做性能调优,以及了解项目上线后需要注意的事情。

课程目录

模块一 秒杀需求和三高指标
01 | 功能需求:秒杀业务背景及前端需求是怎么产生的?
02 | 功能需求:秒杀活动信息是如何管理的?
03 | 非功能需求:高可用、高性能、高并发的指标如何计算?
模块二 系统架构总体设计
04 | 系统架构:如何设计秒杀的系统架构?
05 | 领域建模:DDD 原理及秒杀系统领域模型
模块三 高可用架构设计
06 | 云架构:基础设施是如何做到高可用的?
07 | 故障转移和恢复:如何通过主备切换缩减故障时间?
08 | 过载保护:如何通过熔断和限流解决流量过载问题?
09 | KV 存储:etcd 和 Redis 高可用原理和部署方法
10 | Web 安全:如何解决重放攻击和 XSS 注入?
模块四 高性能架构设计
11 | 系统参数:如何通过系统参数优化网络性能?
12 | 高性能缓存:多级缓存是如何提升服务性能的?
13 | 高性能日志:如何提升日志性能避免 IO 瓶颈?
模块五 高并发架构设计
14 | 流量负载均衡:LVS 和 Nginx 原理和使用方法
15 | 池化技术:连接池和协程池为何能提升并发能力?
16 | 漏斗模型:如何将并发流量过滤和串行化?
模块六 项目初始化
17 | 技术选型:如何选择满足“三高”要求的技术?
18 | 项目规范:Go 项目初始化都有哪些规范?
19 | 热更新:如何解决程序升级中的稳定性问题?
20 | API 设计:如何使用 RESTFul 和 RPC 实现 API ?
模块七 高性能架构实现:多级缓存实战
21 | etcd 实战:如何使用 etcd 存储配置信息?
22 | Redis 实战:如何使用 Redis 缓存库存信息?
23 | 本地缓存实战:如何使用内存缓存提升数据命中率?
模块八 高并发架构实现:池化技术实战
24 | 连接池:如何实现连接池减少连接所需时间?
25 | 协程池:如何实现协程池降低 CPU 消耗?
模块九 高并发 & 高可用架构实现:漏斗模型实战
26 | 过滤器:如何实现用户认证和反黄牛过滤无效请求?
27 | 限流器:如何实现熔断器和限流器防止宕机和雪崩?
28 | 分布式事务:如何使用队列和分布式锁防止库存超售?
模块十 性能测试实战
29 | 单元测试:如何做单元测试和 benchmark?
30 | 性能调优:如何使用 ab 命令和 pprof 分析性能?
31 | 预热和压测:SLB 预热和压测的意义及方法
结束语
结束语 | 程序员成长之路

讲师介绍

易乐天,前小米国际电商技术负责人

10 年软件开发经验。多年 Linux 系统编程、高性能和高并发编程经验。参与过亿级用户、千万日活、百万并发系统开发,曾经将 IM 云 WebSocket 服务单机性能从 2 万长连接优化到 5 万长连接。在小米期间负责过国际电商秒杀系统性能优化,提升并发性能 30%。

主持过海外电商架构演进,曾产出基于 gRPC 的微服务框架和微服务 API 网关,并作为 2020 GIAC 大会讲师分享《如何用Go支撑海外电商架构演进》。

发表评论

登录后才能评论