本节主要内容

1. 秒杀抢购背景
2. 秒杀抢购架构设计&模块划分
3. 秒杀抢购接入层实现

1. 秒杀抢购背景

(1)架构分析

电商网站架构

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

秒杀抢购1.0

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

(2)上述网站架构问题

  • 和已有电商逻辑重度耦合
  • 资源共享,缺乏隔离
  • 服务缺乏限流和过载保护
  • MYSQL存在性能瓶颈
  • 系统缺乏降级措施,不能及时恢复
  • 对雪崩缺乏深刻的认识

(3)架构改进

1)秒杀抢购1.0改进:
         做一套独立的秒杀系统

2)秒杀抢购2.0

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

秒杀抢购2.0优势及问题:

优势:

  • 代码和部署完全隔离,避免相互影响
  • 根据后端承载能力,进行限流,防止全网挂掉
  • 平台化,所有操作在web平台实时生效
  • 使用Redis承载海量QPS
  • 整个系统采用Go重新开发,极大地提高了系统的性能

问题:

  • 秒杀系统存在崩溃了

对秒杀系统进行拆分

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

3)秒杀抢购3.0

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

秒杀抢购3.0架构设计

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

秒杀抢购 3.0模块划分

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

秒杀接入层核心功能

Go语言学习之14 商品秒杀架构设计与开发-LMLPHP

了解更多秒杀相关:https://my.oschina.net/xianggao/blog/524943

更多大型网站架构看这里:https://my.oschina.net/xianggao?tab=newest&catalogId=265281

04-15 00:46