# skill-demo **Repository Path**: areyo/skill-demo ## Basic Information - **Project Name**: skill-demo - **Description**: 一个展示技能和教程的示范项目,涵盖编程技术、算法实现及应用实例,适合新手学习和开发者参考。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-16 - **Last Updated**: 2025-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 秒杀项目介绍 ## 项目介绍 秒杀项目,基于DDD架构整合SpringBoot、Mybatis-Plus、RabbitMQ、Redis、Nginx、Docker、Lombok、Hutool、Swagger-UI、Hibernator-Validator等开源技术,实现秒杀功能。 ## 技术栈 | 技术 | 说明 | 官网 | | :-------: | :-------: | :-------: | | SpringBoot Web | 应用开发框架 | https://spring.io/projects/spring-boot | | Mybatis-Plus | ORM 框架 | https://baomidou.com/ | | RabbitMQ | 消息队列 | https://www.rabbitmq.com | | Redis | 内存数据存储 | https://redis.io | | Nginx | 静态资源服务器(暂未使用) | https://www.nginx.com | | Docker | 应用容器引擎 | https://www.docker.com | | Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok | | Hutool | Java 工具类库 | https://github.com/looly/hutool | | knife4j | API 文档生成工具 | https://github.com/swagger-api/swagger-ui | | Hibernator-Validator | 验证框架(暂未具体使用) | http://hibernate.org/validator | | spring-statemachine-starter | 状态机(暂未具体使用) | http://hibernate.org/validator | | grpc | grpc通讯(暂未具体使用) | http://hibernate.org/validator | ## 项目结构 ### common 通用模块,存放一些公共的类,如:工具类、常量类、枚举类等。 ### order-service 订单模块,存放订单相关的类,如:订单实体类、订单服务类、订单服务实现类等。 ### skill-service 秒杀模块,存放秒杀相关的类,如:秒杀实体类、秒杀服务类、秒杀服务实现类等。 ## 运行 ### 1. 运行文件,安装容器 ``` docker-compose.yml ``` ### 2. 创建数据库和数据表,配置mq交换机,主题队列 ```shell source Init.sql ``` ### 3. 运行项目 ```shell java -jar skill-service-0.0.1-SNAPSHOT.jar # 本地 java -jar skill-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mvn clean install mvn spring-boot:run mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev" ``` ### 4. 访问项目 [点击当前项目API](http://localhost:10010/doc.html) ## 运行测试 ![分类下的商品](test-rest/分类下的商品.png) ![活动商品](test-rest/活动商品.png) ## 压测结果 ![秒杀接口结果](test-rest/压测秒杀接口结果.png) ## 待补充: - 模块化分包优化 - 参数校验 - 限流操作 - 未支付30分钟自动取消订单,未支付订单自动关闭 - 支付状态变换