SSM秒杀项目(一)简介

  本次秒杀项目是根据慕课网的秒杀视频项目做的,算是学完SSM后的一个实战。

秒杀简介:

 电商平台经常做一些低价促销活动,吸引了许多顾客进行抢购。在同一时间开放购买页面,大量用户同时点击购买商品。

秒杀业务特点:

1.同一时间网站的访问流量瞬间激增;

2.秒杀的商品库存一般远远低于访问购买的用户数量;

3.秒杀逻辑一般就是减库存下订单,这是一个原子操作。

秒杀系统设计思路:

1.数据库读写是秒杀业务最大的瓶颈,相当于磁盘I/O,速度相比内存访问慢。尽量将需要频繁访问的数据库中数据加载到内存中;

2.瞬间激增的流量访问会增大服务器的压力,而秒杀商品只有少部分人能够购买到。将未能购买到的用户流量直接拦截掉,不再进行秒杀业务逻辑的处理;

3.增加异步处理功能,将可购买用户的请求放入消息队列中,服务端根据自己的业务处理能力去处理消息队列中的用户请求。

项目相关的技术:

Bootstrap、JQuery、Spring、SpringMVC、Mybatis、Redis、Rabbitmq、Mysql

项目中的技术运用:

Bootstrap构建前端登录页面、秒杀商品展示页面、秒杀商品抢购页面、订单页面;

JQuery构建登录模块中的表单提交及提交及处理表单后服务端响应的内容(跳转商品列表页面)、构建秒杀抢购页面倒计时的业务逻辑及点击提交抢购按钮后服务端响应的内容(接收秒杀失败及服务端处理错误信息、跳转订单页面);

SSM作为项目中的基础,主要负责业务处理逻辑和数据持久化(整个项目分为表现层、Controller层、Service层、Dao层);

Redis作为缓存服务器,主要用作分布式session和减少数据库频繁访问的压力;

Rabbitmq是消息队列,主要负责异步处理订单业务;

Mysql数据库存储本次项目中所涉及到的用户表(登录信息)、秒杀商品列表(所有秒杀商品)、秒杀商品表(特定秒杀商品的秒杀信息)、用户订单(成功购买用户与商品的详细信息)、秒杀订单(用户id、商品id、订单id)

项目模块:

两次MD5登录密码验证、分布式会话、缓存优化、消息队列异步处理请求、页面展示(登录/商品详情/商品抢购/订单)、接口优化

 

 

 

 

 

 

 

 

 


版权声明:本文为ZH956318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。