# 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 下载量 73 浏览量
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
资源评论
嵌入式大圣
- 粉丝: 2659
- 资源: 715
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mmexport1732452246811.png
- Python毕业设计基于物品的协同过滤算法实现图书推荐系统项目源码(高分项目)
- 软考(中级-软件设计师)知识点汇总与解析
- Desktop (2).zip
- 考研冲刺模拟试题50道及解析
- 11月美宝莲专卖店店内海报 店内海报完稿310mmX360mm-op.ai
- Python 中实现十大排序算法
- 基于 Java 实现的24点卡牌游戏课程设计
- 基于ssm台球俱乐部管理系统 框架html + css + jquery + jsp + java + ssm + MySQL 用户类型 管理员 admin 123456 普通用户 002 0
- 纸中世界-跳跃游戏.sb3
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功