Skip to content

1105916774/miaosha_1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

【SecKill】秒杀系统

一、技术点介绍

1、前端:HTML + jQuery + Thymeleaf(服务端的模板,类似于JSP)
2、中间件:

(1)实现异步操作:RabbitMQ

(2)缓存:Redis(分布式缓存Redis之持久化:服务器重启之后,可以保持数据不丢失)

(3)阿里巴巴开源的连接池:Druid(特性:监控数据库连接池里的连接<最大连接数、最长时间>)

3、后端

(1)微服务框架:SpringBoot

(2)访问数据库:MyBatis

(3)服务端的验证框架:JSR303

二、秒杀功能

1、分布式会话:SpringBoot开发环境

2、商品列表页

3、商品详情页

4、订单详情页

5、系统压测:高并发问题 → 多层次多粒度缓存+消息队列异步+服务器分布式部署

6、缓存优化:减少对数据库的访问

7、消息队列

8、接口安全:保证系统安全、交易公平 → 限流防刷、图形验证码、接口地址隐藏

三、教学框架

U1 项目框架搭建

1、SpringBoot环境搭建

2、集成Thymeleaf(页面模板=JSP),Result结果封装

3、集成Mybatis(数据库)+Druid

4、集成Jedis+Redis安装+通用缓存Key封装

U2 实现登录功能

1、数据库设计

2、明文密码两次MD5处理:安全

3、JSR303参数检验+全局异常处理器

4、分布式Session

U3 实现秒杀功能

1、数据库设计

2、商品列表页

3、商品详情页

4、订单详情页

U4 JMeter压测

1、JMeter入门

2、自定义变量模拟多用户

3、JMeter命令行使用

4、Spring Boot打Jwar包

U5 页面优化技术

1、页面缓存+URL缓存+对象缓存

2、页面静态化,前后端分离

3、静态资源优化

4、CDN优化

U6 接口优化

1、Redis预减库存减少数据库访

2、内存标记减少Redis访问

3、RabbitMQ队列缓冲,异步下单,增强用户体验

4、RabbitMQ安装与Spring Boot集成

5、访问Nginx水平扩展

6、压测

U7 安全优化:防止机器人刷接口

1、秒杀接口地址隐藏:秒杀开始前,无真正的秒杀地址

2、数学公式验证码

3、接口防刷

About

▶U1 项目框架搭建

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published