druid连接池、redis作为缓存、整合alipay二维码支付实现的商品秒杀系统

xiaoxiao2021-02-28  49

# KillSystem商品秒杀系统

gitHub上地址:             https://github.com/XCXCXCXCX/KillSystem

一、项目简介

网站管理员能上架商品,设置商品信息及图片介绍,需要设置商品秒杀的活动时间,供用户在规定的时间内进行抢购 网站管理员能管理用户订单信息 用户需要注册后登陆进入系统,查看管理员提供的商品秒杀列表,在规定时间内选择所需抢购的商品进行抢购,抢购成功后在支付二维码失效前扫码支付,否则抢购失败。 目前经过ab压力测试模拟10000并发抢购操作,平均响应时间14.2ms,失败请求24个 由于系统缓存不足无法进行20000并发,所以还未进行20000并发的测试

二、环境部署:

windows 10上搭建web服务器(tomcat 8.5)、nginx服务器(1.12.2)、FTP服务器(使用FTPServer工具)、mysql(5.7.19)、redis(3.0.503)、maven(3.5.2) (查阅相关博文进行安装,如果需要相关压缩包,留下邮箱,我会尽快打包发你) ROOT文件夹内容为nginx中配置的静态文件访问区域,KillSystem文件夹为web服务器下部署的项目。 将ROOT文件夹内容粘贴到tomcat路径下的静态资源ROOT目录,KillSystem文件夹为部署在tomcat上的项目,部署成功后,如我的电脑中的状态为: D:\tomcat\apache-tomcat-8.5.16\wtpwebapps目录中有KillSystem和ROOT两个文件夹 在nginx中配置html/js/css/png等静态资源的访问路径为D:\tomcat\apache-tomcat-8.5.16\wtpwebapps\ROOT 在eclipse下导入maven项目KillSystem 条件允许建议在linux服务器下进行开发,redis的性能在linux下表现卓越。 另外, (1) 项目中使用了ssm框架(ps:配置文件druid-db.xml等同于其他项目中的application.xml) (2) pageHelper分页插件 (3) druid连接池 (4) JedisPool连接池 (5) log4j日志管理 (6) 支付宝当面付sdk 所需jar包已引入依赖,pom.xml无需修改。

三、数据库表设计

mysql数据库表:                 user表{tel_num varchar(11) PRI,username varchar(20) NOT NULL,passwd varchar(20) NOT NULL,register_date date}、 goods表{goods_id int(11) PRI,goods_name varchar(20) NOT NULL,goods_price int(11) NOT NULL,goods_stock int(11) NOT NULL,      begin_time datetime NOT NULL,end_time datetime NOT NULL,goods_info mediumtext}、 goods_order表{order_id varchar(32) PRI,tel_num varchar(11) NOT NULL,address varchar(20) NOT NULL,goods_id int(11) NOT NULL, create_time datetime NOT NULL,is_success int(11) NOT NULL}、 shippingAddress表{address_id int(11) NOT NULL,user_id varchar(20) NOT NULL,address varchar(50) NOT NULL, tel_num varchar(20) NOT NULL,name varchar(20) NOT NULL} 按照该表结构建表,并导入测试所需数据。 redis中数据的结构:        订单{key,value}->{order_id,order.getTel_num() + "," + order.getAddress() + ","+ order.getGoods_id() + "," + DateTime.now().toString("YYYY-MM-dd HH-mm-ss")}、 支付订单{key,value}->{order_id + "_pay",(0 or 1)}、 库存{key,value}->{goods_id,(Integer)}

四、项目开发

由于模块有主次之分,主要写一下关于主要功能模块的开发:        

       (1)管理员商品管理模块

       (2)商品抢购模块

       (3) 支付模块 先写到这里,后续博文会更新 如有不足之处望指出,欢迎交流学习!
转载请注明原文地址: https://www.6miu.com/read-2621844.html

最新回复(0)