一、研究内容及拟采用的技术方案
系统结构
本系统基于SpringBoot+Tomcat+MySQL,并采用B/S模式,不用考虑跨平台跟不同客户端之间的兼容性,系统主要包括商品列表、开抢时间、订单确认、下单交易支付等核心核心功能。
拟采用的系统技术
系统框架:SpringBoot
前端技术:JavaScript、jQuery、BootStrap
数据库技术:MySQL
中间件技术:Redis、MQ
以上技术使用的特性如下:
(1)JavaScript、jQuery、BootStrap的前端页面:保证页面访问能够兼容且页面整齐美观,具有观赏性。
(2)B/S架构:成本低、维护方便、分布性强、开发简单,不需要安装任何专门的软件、只需要浏览器即可访问操作。
(3)MySQL:数据存储,Redis:缓存热点数据
MQ:对于突然到来的大量请求,您可以配置流控规则,以稳定的速度逐步处理这些请求,起到“削峰填谷”的效果,从而避免流量突刺造成系统负载过高。
二、拟解决的关键问题
1. 数据库访问压力:抢购活动中大量请求过来时我们是要去判断商品是不是够的,每次抢购时主要压力其中一点是在于对产品数量的校验,如果完全放在数据库,数据库压力大。活动预加载,数据加热,放在缓存Redis中,用户请求过来时通过缓存告诉他们产品对应的数量和状态,这样就减小了数据库的访问压力。
2. 抢购活动:将活动ID+用户ID维护到缓存Redis中(拦截同一用户对同一抢购产品的多次抢购行为),判断是否是第一次抢购操作,如果不是则结束抢购,如果是则进行后续操作;判断缓存中活动的商品是否被抢空,如果不是则结束抢购,如果是则将缓存商品数量减1,数据库商品数量减1,SnowFlake雪花算法生成订单号,订单处理MQ。
参考文献
[1] 侯成程. 某订单秒杀系统的设计与实现[D].北京:北京邮电大学,2021.
[2] 董晓玮,赵月英,张一鸣.电商秒杀系统的设计与实现[J].信息技术与信息化, 2020(09):40-42.
[3] 徐冉. 基于微服务架构的秒杀系统服务端设计与实现[D].南京:东南大学, 2020.
[4] 徐士川. 电子商城系统中订单模块与秒杀模块的设计与实现[D].南京:南京大学, 2018.
[5] 李军锋,何明昕.高并发Web航空票务秒杀系统的设计与实现[J].计算机工程与计,2013,34(03):778-782.DOI:10.16208/j.issn1000-7024.2013.03.027.
[6] 朱丽叶. 面向电商平台的秒杀系统设计与实现[D]. 上海:上海交通大学, 2020.
本文暂时没有评论,来添加一个吧(●'◡'●)