【文件属性】:
文件名称:Seckill-RPC:seckill秒杀项目【PRC】
文件大小:34.05MB
文件格式:ZIP
更新时间:2021-02-02 18:49:14
mysql redis rabbitmq maven springboot
SecKill-RPC
简介
在线秒杀web应用程序-升级版
用户可以在秒杀开启;进行杀害活动;秒杀结束,阻止用户秒杀;用户成功秒杀到商品后阻止其二次秒杀;
演示:
特性
项目分为【前端】和【预定】
前端处理与用户打交道的工程,精心专门处理数据交互
由于是对之前的项目进行升级,所以本项目由三个模块组成:
seckill也就是之前的版本,虽然进行修改,但还是一个经典的SSM结构
seckillback不关心与用户的交互,专心处理数据的模块
seckillapi为seckill以及seckillback提供公共类或接口
当上游数据顺利到达下游后,seckill将消息发送到MQ,seckillback处理消息,进行创建订单与扣减库存,因此需要使用到RabbitMQ提供消息中间件的服务,以及Dubbo提供RPC调用服务
运行流程图:
项目整体结构图:
为确保消息100%落地,额外添加brokerDB,通过定时检查该库status插入为非1的数据行并进行补偿操作,从而避免消费MQ失败。
优化思路
秒杀业务分析
特点:瞬时并发量大,库存少,业务流程简单
技术难点:冲击现有的业务,限制URL界面开