高并发秒杀系统
本项目是基于若依RuoYi-Cloud的高并发秒杀微服务项目(RuoYi-Cloud-SecKill),后端采用Spring Boot、Spring Cloud & Alibaba、MyBatis,前端采用Vue+ElementUI,通过创建基于Redis、RabbitMQ、WebSocket、ElasticJob的技术方案,设计实现高并发秒杀系统架构。
商品秒杀:实现高并发的秒杀校验、秒杀预处理、创建订单、库存回补等功能。
商品管理:实现商品信息查询等功能。
分布式任务管理:实现任务的分片执行和高可用。
通信管理:实现前后端通信功能。
后续功能持续更新中...
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
岗位管理:配置系统用户所属担任职务。
菜单管理:配置系统菜单,操作权限,按钮权限标识等。
角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
参数管理:对系统动态配置常用参数。
通知公告:系统通知公告信息发布维护。
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
登录日志:系统登录日志记录查询包含登录异常。
在线用户:当前系统中活跃用户状态监控。
定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
系统接口:根据业务代码自动生成相关的api接口文档。
服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
缓存监控:对系统的缓存查询,删除、清空等操作。
在线构建器:拖动表单元素生成相应的HTML代码。
连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
com.ruoyi
├── seckill-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块
│ └── ruoyi-api-system // 系统接口
│ └── ruoyi-api-product // 商品接口
│ └── ruoyi-api-seckill // 秒杀接口
├── ruoyi-common // 通用模块
│ └── ruoyi-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务
│ └── ruoyi-common-security // 安全模块
│ └── ruoyi-common-swagger // 系统接口
│ └── ruoyi-common-rabbitmq // 消息中间接口
├── ruoyi-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300]
│ └── ruoyi-elasticJob // 分布式任务 [9204]
│ └── ruoyi-product // 商品服务 [9206]
│ └── ruoyi-seckill // 秒杀服务 [9205]
│ └── ruoyi-websocket // 通信服务 [9207]
├── ruoyi-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖
商品列表界面:
商品详情界面:
秒杀结果界面:
秒杀操作前,数据库秒杀商品表中库存数量为10:
机器环境:
模拟并发量:
测试结果:
秒杀操作完成后,数据库秒杀商品表中库存数量为0,没有出现超卖的情况:
秒杀操作完成后,数据库秒杀订单表中新增订单数量为10:
若发现bug,请issues,并提供复现路径。