毕业论文
您现在的位置: 版本控制 >> 版本控制资源 >> 正文 >> 正文

SecKillSOA简易在线秒杀web

来源:版本控制 时间:2023/5/7
白癜风可以吃海鲜吗 http://m.39.net/news/a_6361298.html

SecKill-SOA简介

简易在线秒杀web应用程序——升级版

用户可以在秒杀开启后进行秒杀活动;秒杀结束,阻止用户秒杀;用户成功秒杀到商品后阻止其二次秒杀;

演示:

特性

项目分为和

前端处理与用户打交道的工程,后端专门处理数据交互

由于是对之前的Seckill-Monolithic-Architecure项目进行升级,所以本项目由三个模块组成:

seckill也就是之前的版本,虽然进行了大量修改,但还是一个经典的SSM结构seckillback不关心与用户的交互,专心处理数据的模块seckillapi为seckill以及seckillback提供公共类或接口当上游数据顺利到达下游后,seckill会将消息发送到MQ,seckillback处理队列消息,进行创建订单与扣减库存,所以需要使用到RabbitMQ提供消息中间件的服务,以及Dubbo提供RPC调用服务

运行流程图:

项目整体结构图:

为确保消息%落地,额外添加brokerDB,通过定时检查该库status字段为非1的数据行并进行补偿操作,以避免后端消费MQ失败。

使用的技术

数据库:Redis、MySQL

Web框架:SpringMVC

持久层框架:Mybatis

依赖管理:Maven

版本控制:Git

容器:Spring

分布式服务框架:Dubbo

消息中间件:RabbitMQ

工具:lombok、Protostuff

安装

用IDEAopenseckill工程,然后按下ctrl+alt+shift+s打开ProjectStructure,点击Modules,点击“+”号,再点击importModule,将剩下的两个模块导入

在sql包下,执行seckill.sql与seckillback.sql,建立数据库,然后在seckill模块下的jdbc.properties文件里面修改前端要用到的数据库连接参数,以及seckillback模块下的application.properties文件里面修改后端用到的数据库

启动Redis,默认host:.0.0.1,port:;如需修改请在spring-dao.xml文件里面修改

启动RabbitMQ,使用默认参数

启动Zookeeper,使用默认参数

项目启动过程:

直接启动seckillback模块里面的SeckillmqreceiveApplication再为seckill模块添加Tomcat,部署项目并启动最后访问连接:

转载请注明:http://www.0431gb208.com/sjslczl/4585.html

  • 上一篇文章:
  • 下一篇文章: 没有了