# seckill
## 技术栈
* Spring Boot
* MyBatis Plus
* Redis
* RabbitMQ
* Thymeleaf
* Lombok
* Guava
## 秒杀优化方案
* 在前端页面增加拦截,通常为点击一次秒杀请求后不可再次点击,一次减少重复的请求
* 充分利用缓存,秒杀商品是一个典型的读多写少的应用场景,充分利用缓存将大大提高并发量
## 技术点
### 两次MD5加密
* 第一次:将用户输入的密码和固定Salt通过MD5加密生成密码,进行网络间的传输,防止用户明文密码在网络进行传输
* 第二次:讲该密码和随机生成的Salt通过MD5进行第二次加密,最后将第二次加密后的密码和第一次的固定Salt存数据库。防止数据库被盗后反推出密码
### Session共享
登录成功后,生成一个类似sessionId的东西(token)来标识用户,然后写入resopnse传递个客户端,客户端在随后的的过程中都在上传这个token,然后根据token 取得用户的信息
也可使用Spring Session + Redis实现
### 全局异常统一处理
通过拦截所有异常,对各种异常进行相应的处理,当遇到异常就逐层上抛,一直抛到最终由一个统一的、专门负责异常处理的地方处理,这有利于对异常的维护。
### 本地标记 + redis预处理 + RabbitMQ异步下单
* 秒杀阶段使用本地标记标记用户秒杀过的商品,若被标记过直接返回秒杀,未被标记才查询Redis
* 抢购开始前,将商品和库存数据同步到redis中,所有的抢购操作都在redis中进行处理,减少对数据库的访问
* 使用RabbitMQ用异步队列处理下单,实际做了一层缓冲保护
没有合适的资源?快使用搜索试试~ 我知道了~
基于Spring Boot + MySQL + Redis + RabbitMQ开发的秒杀系统.zip
共122个文件
java:58个
png:16个
js:11个
需积分: 1 0 下载量 144 浏览量
2024-11-24
18:45:59
上传
评论
收藏 4.87MB ZIP 举报
温馨提示
基于Spring Boot + MySQL + Redis + RabbitMQ开发的秒杀系统.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于Spring Boot + MySQL + Redis + RabbitMQ开发的秒杀系统.zip (122个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
layer.css 14KB
layer.css 5KB
glyphicons-halflings-regular.eot 20KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-1.gif 701B
.gitignore 337B
goods_detail.htm 6KB
order_detail.htm 3KB
goods_detail.html 4KB
login.html 3KB
order_detail.html 3KB
goods_list.html 2KB
hello.html 1024B
seckill_fail.html 246B
RedisServices.java 5KB
SeckillController.java 4KB
MysqlGenerator.java 4KB
UserService.java 4KB
GoodsController.java 4KB
UserArgumentResolver.java 3KB
OrderService.java 2KB
SeckillService.java 2KB
CodeMsg.java 2KB
OrderMapper.java 2KB
OrderInfo.java 2KB
MqConfig.java 2KB
GoodsMapper.java 2KB
OrderController.java 2KB
GoodsService.java 2KB
GoodsSeckill.java 1KB
MqReceiver.java 1KB
Goods.java 1KB
MD5Util.java 1KB
User.java 1KB
GlobalExceptionHandler.java 1KB
RedisPoolFactory.java 1KB
DBUtil.java 1022B
MqSender.java 994B
GoodsMapperTest.java 980B
LoginController.java 971B
UserMapperTest.java 942B
IsMobileValidator.java 900B
OrderMapperTest.java 890B
Result.java 877B
Order.java 864B
WebConfig.java 842B
RedisServicesTest.java 837B
IsMobile.java 756B
BasePrefix.java 717B
UserKey.java 613B
RedisConfig.java 591B
ValidatorUtil.java 590B
UserController.java 579B
Test.java 537B
CodeEnum.java 484B
MyBatisPlusConfig.java 468B
GoodsKey.java 452B
GoodsVo.java 448B
GlobalException.java 422B
LoginVo.java 404B
SeckillGoods.java 343B
SeckillApplicationTests.java 338B
UserMapper.java 338B
OrderKey.java 334B
SeckillKey.java 325B
SeckillApplication.java 318B
UUIDUtil.java 314B
GoodsDetailVo.java 283B
SeckillOrder.java 259B
SeckillMessage.java 244B
KeyPrefix.java 241B
OrderDetailVo.java 223B
bg.jpg 3.62MB
bg2.jpg 80KB
jquery.min.js 82KB
bootstrap.js 68KB
bootstrap.min.js 36KB
layer.js 21KB
jquery.validate.min.js 21KB
additional-methods.min.js 17KB
md5.min.js 10KB
layer.js 3KB
common.js 1KB
messages_zh.min.js 1KB
npm.js 484B
bootstrap.min.css.map 529KB
bootstrap.css.map 380KB
bootstrap-theme.css.map 47KB
bootstrap-theme.min.css.map 25KB
README.md 2KB
iphone8.png 340KB
mi6.png 74KB
meta10.png 41KB
userinfo_test_2.png 30KB
userinfo_test_1.png 29KB
共 122 条
- 1
- 2
资源评论
嵌入式大圣
- 粉丝: 4504
- 资源: 792
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- c语言实现的超级玛丽游戏源码.zip
- 计算机网络中TCP与UDP Socket编程的Python实现
- 实验教学资料:深入理解HTTP协议的应用及其各部分组成
- Matlab光纤光栅仿真程序FBG 双FBG
- (基于python的毕业设计)旅游推荐数据分析可视化(源码+部署说明).zip
- c语言实现的汉诺塔演示程序.zip
- c语言实现的象棋源码.zip
- 一款GO语言开发的斗地主游戏
- PHP资产管理系统,适用于IT办公行业固定资产及设备管理源码,基于layuimini开源框架,需要的联系我,标价即实价 可本地安装或局域网联机使用,也可服务器联网使用 需求环境PHP+MYSQL部
- c语言实现非常漂亮祝福烟花效果.zip
- c语言实现类似弹力球效果.zip
- python项目实战之旅游推荐数据分析可视化(源码+部署说明).zip
- c语言实现如果cmd中的ping.zip
- 昆仑通态MCGS与三菱E740变频器通讯可直接拿来实用了,采用器件:三菱FR E740型号变频器,1块昆仑通态MCGS触摸屏 通讯方式:modbus RTU模式,走485方式 功能:用MCGS读取变
- c语言实现数字雨.zip
- cruise纯电动车仿真模型,实现电制动优先的能量回收策略 关于模型:模型是base模型,控制策略是使用c-code编写的,非联合仿真,在没有联合仿真需求时可以使用此模型 相关仿真任务已经建立完成
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功