一、简介
秒杀系统就是电商系统的一种形式,通过设计秒杀模块来应对实际电商平台中最考验系统架构的部分。
秒杀系统特点:业务简单(卖家查询,买家下订单减库存),瞬时并发量高。
二、设计思路
核心思路是通过缓存,异步,限流来保证系统的高并发和高可用。
设计思路:
将请求拦截在系统上游,降低下游压力
充分利用缓存:利用缓存可极大提高系统读写速度
消息队列:消息队列可以削峰,将拦截大量并发请求,这也是一个异步处理过程,后台业务根据自己的处理能力,从消息队列中主动拉取请求信息进行业务处理。
三、SpringBoot版的简单实现
使用环境 jdk 8 、SpringBoot 2.7.3、 MySQL8.3、Redis 、RabbitMQ
工具 idea2022.2 、sqLyog、 Apifox+Jmeter
3.1、数据库的搭建
库存表
订单表
3.2 SpringBoot文件创建
pom 文件编写
使用redis和mq和fastjson2和swagger-annotations(使用R统一返回值类型)
** 项目架构**