# MicoserveFinal **Repository Path**: complexshao/micoserve-final ## Basic Information - **Project Name**: MicoserveFinal - **Description**: 微服务整合的项目,电商业务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-16 - **Last Updated**: 2025-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电商平台微服务项目 基于Spring Cloud的电商平台,实现用户、商品、订单、支付四个核心服务的完整业务流程。 ## 🏗️ 项目架构 ``` 电商平台微服务 ├── gateway-service # API网关 (8080) - 路由转发、JWT鉴权、限流 ├── user-service # 用户服务 (8081) - 注册登录、用户管理 ├── product-service # 商品服务 (8082) - 商品CRUD、库存管理、缓存 ├── order-service # 订单服务 (8083) - 订单创建、状态管理、超时处理 ├── payment-service # 支付服务 (8084) - 支付处理、回调、交易记录 └── common # 公共模块 - 通用工具、实体类 ``` ## 🛠️ 技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Spring Boot | 2.7.18 | 基础框架 | | Spring Cloud | 2021.0.8 | 微服务框架 | | Spring Cloud Alibaba | 2021.0.5.0 | 阿里巴巴微服务组件 | | Nacos | 2.3.0 | 服务注册与配置中心 | | Sentinel | 1.8.6 | 熔断限流(可选) | | OpenFeign | 3.1.8 | 服务间调用 | | Spring Cloud Gateway | 3.1.7 | API网关 | | MySQL | 8.0 | 关系型数据库 | | MyBatis-Plus | 3.5.4 | ORM框架 | ## 🚀 快速启动 ### 环境要求 - ✅ JDK 17+ - ✅ Maven 3.6+ - ✅ MySQL 8.0 - ✅ Nacos 2.3.0 - ✅ IntelliJ IDEA ### 本地启动 详细步骤请查看:**[本地启动指南.md](本地启动指南.md)** **简要步骤:** 1. 启动MySQL服务 2. 启动Nacos服务 3. 执行数据库初始化SQL 4. 在IDEA中按顺序启动5个微服务 5. 访问 http://localhost:8080 测试 ## 📱 访问地址 | 服务 | 地址 | 说明 | |------|------|------| | API网关 | http://localhost:8080 | 统一入口 | | Nacos控制台 | http://localhost:8848/nacos | nacos/nacos | | Sentinel控制台 | http://localhost:8181 | sentinel/sentinel(可选) | ## 🔥 核心功能 ### 业务流程 1. **用户注册登录** → JWT Token鉴权 2. **商品浏览** → 数据库查询优化 3. **创建订单** → 库存扣减事务保证 4. **支付处理** → 异步回调更新状态 5. **超时处理** → 定时任务恢复库存 ### 微服务特性 - 🎯 **服务注册发现** - 自动注册到Nacos - 🔧 **配置热更新** - 动态修改缓存时间、超时配置 - 🛡️ **熔断限流** - Sentinel保护服务稳定性 - ⚖️ **负载均衡** - 请求均匀分发 - 🌐 **API网关** - 统一路由、鉴权、限流 - 💾 **数据一致性** - 本地事务+补偿机制 ## 📋 API测试 导入Postman测试集合:`postman/电商平台API测试.postman_collection.json` ### 核心接口 ```bash # 用户注册 POST http://localhost:8080/api/user/register # 用户登录 POST http://localhost:8080/api/user/login # 商品列表 GET http://localhost:8080/api/product/list # 创建订单 POST http://localhost:8080/api/order/create # 执行支付 POST http://localhost:8080/api/payment/execute ``` ## 📊 数据库设计 | 数据库 | 表 | 说明 | |--------|----|----| | user_db | users | 用户信息 | | product_db | products | 商品信息 | | order_db | orders, order_items | 订单信息 | | payment_db | payments | 支付记录 | ## 🔧 开发指南 ### 项目结构 ``` src/main/java/com/finalterm/ ├── controller/ # REST控制器 ├── service/ # 业务逻辑层 ├── mapper/ # 数据访问层 ├── entity/ # 数据库实体 ├── dto/ # 数据传输对象 ├── config/ # 配置类 └── feign/ # 服务调用客户端 ``` ### 配置说明 - 📁 **配置文件**: `application.yml` (统一配置) - 🏷️ **命名空间**: `ecommerce` - 🔗 **服务发现**: `localhost:8848` - 📝 **日志级别**: `DEBUG` ## 📚 文档 - [API文档](docs/API文档.md) - [系统架构设计](docs/系统架构设计.md) - [部署说明](docs/部署说明.md) - [测试文档](docs/测试文档.md) ## 🎯 项目亮点 ✨ **完整的微服务架构** - 四个独立服务,职责清晰 ✨ **服务治理完善** - 注册发现、配置管理、熔断限流 ✨ **业务流程完整** - 从用户注册到支付完成的全链路 ✨ **数据一致性保证** - 事务处理、超时补偿机制 ✨ **可观测性强** - 详细日志、监控面板 ✨ **部署简单** - 本地开发环境快速启动 ## 📄 许可证 MIT License