项目简介
本项目是基于Spring Boot和Redis的秒杀系统,能提供高效、可靠的秒杀活动管理功能。借助Redis作为缓存和分布式锁,保障高并发场景下的数据一致性与性能。同时,整合RabbitMQ进行异步消息处理,提升系统响应速度与可扩展性。
项目的主要特性和功能
- 秒杀活动管理:可创建、查询、更新和删除秒杀活动,管理活动库存,进行活动有效性检查。
- 订单管理:支持高并发下单,提供订单状态查询接口,处理订单(含异步处理和超时未支付订单处理)。
- 库存管理:能查询所有库存和指定库存详情,扣减库存时保证原子性和一致性。
- 用户管理:可查询和新增用户信息,管理用户订单。
- 缓存和分布式锁:用Redis作缓存提升数据访问速度,实现分布式锁确保高并发数据一致。
- 异步消息处理:利用RabbitMQ异步处理消息,提高系统响应速度和可扩展性。
安装使用步骤
前提条件
- 已安装Java 8或更高版本。
- 已安装Maven。
- 已安装Redis且Redis服务正在运行。
- 已安装RabbitMQ且RabbitMQ服务正在运行。
步骤
- 复制项目:
bash cd flashsale
- 配置Redis和RabbitMQ:
在
application.properties
文件中配置连接信息,示例如下:properties spring.redis.host=localhost spring.redis.port=6379 spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest
- 构建项目:
bash mvn clean install
- 运行项目:
bash mvn spring-boot:run
- 访问项目:
打开浏览器,访问
http://localhost:8080
,使用提供的API接口管理秒杀活动、订单和库存。
API接口示例
- 创建秒杀活动:
bash POST /activity/add { "productId": 1, "price": 99.99, "nums": 100, "startTime": "2023-10-01T00:00:00", "endTime": "2023-10-01T23:59:59" }
- 查询所有有效活动:
bash GET /activity/list
- 下单:
bash POST /order/add { "productId": 1, "userId": 1, "activityId": 1 }
- 查询订单详情:
bash GET /order/query/{order_no}
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】