# service-modelGenerator
**Repository Path**: superjang/service-model-generator
## Basic Information
- **Project Name**: service-modelGenerator
- **Description**: 七牛云25年参赛,Import man团队后端仓库
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-22
- **Last Updated**: 2025-09-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Anity3D Service





**一个基于微服务架构的文生/图生3D模型AI智能应用服务端**
[项目概览](#项目概览) • [项目优势](#项目优势) • [快速开始](#快速开始) • [架构设计](#架构设计) • [API文档](#api文档)
---
## 📑 目录
- [项目分工](#项目分工)
- [项目概览](#项目概览)
- [🎯 项目定位](#-项目定位)
- [🚀 核心功能](#-核心功能)
- [🏗️ 项目架构](#️-项目架构)
- [🛠️ 技术栈](#️-技术栈)
- [项目优势](#项目优势)
- [🎯 技术优势](#-技术优势)
- [1. 现代化微服务架构](#1-现代化微服务架构)
- [2. 高性能缓存架构](#2-高性能缓存架构)
- [3. 企业级安全架构](#3-企业级安全架构)
- [🚀 业务优势](#-业务优势)
- [1. 用户体验优化](#1-用户体验优化)
- [2. 开发效率提升](#2-开发效率提升)
- [3. 运维管理便捷](#3-运维管理便捷)
- [快速开始](#快速开始)
- [📋 环境要求](#-环境要求)
- [系统要求](#系统要求)
- [软件要求](#软件要求)
- [🚀 Windows本地部署](#-windows本地部署)
- [1. 环境准备](#1-环境准备)
- [2. 配置环境变量](#2-配置环境变量)
- [3. 构建项目](#3-构建项目)
- [4. 启动服务](#4-启动服务)
- [5. 验证部署](#5-验证部署)
- [6. 访问服务](#6-访问服务)
- [🐳 Linux Docker容器化部署](#-linux-docker容器化部署)
- [1. 环境准备](#1-环境准备-1)
- [2. 配置环境](#2-配置环境)
- [3. 构建和启动](#3-构建和启动)
- [4. 服务管理](#4-服务管理)
- [🔧 开发环境配置](#-开发环境配置)
- [1. IDE配置](#1-ide配置)
- [2. 数据库配置](#2-数据库配置)
- [3. 本地调试](#3-本地调试)
- [📚 API文档](#-api文档)
- [Swagger文档](#swagger文档)
- [主要API接口](#主要api接口)
- [🐛 故障排除](#-故障排除)
- [常见问题](#常见问题)
- [日志查看](#日志查看)
- [📞 技术支持](#-技术支持)
- [贡献指南](#贡献指南)
- [🤝 如何贡献](#-如何贡献)
- [📝 提交规范](#-提交规范)
- [🔍 代码规范](#-代码规范)
- [许可证](#许可证)
- [致谢](#致谢)
---
## 项目分工
**队伍名称**:Import man
**前端开发**:张扬
**后端开发**:黄松江
**Demo演示视频**:[Anity3D-演示视频](./Anity3D-演示视频.mp4)
**前端仓库地址(优先阅读)**:[Anity 3D - 文生/图生3D模型AI智能应用前端](https://gitee.com/superjang/app-modelGenerator/tree/feature%2Fupgrade/#142-%E6%96%87%E7%94%9F3d%E8%AF%84%E4%BC%B0%E6%96%B9%E6%B3%95%E4%B8%93%E5%AE%B6%E7%89%B9%E5%BE%81%E6%AF%94%E5%AF%B9%E6%B3%95)
**详细设计文档**:[Anity3D服务端系统架构设计文档](./docs/Anity3D服务端系统架构设计文档.md)
## 项目概览
### 🎯 项目定位
Anity3D Service 是一个现代化的微服务架构平台,专注于提供高质量的文本/图像到3D模型生成服务。项目采用Spring Cloud Alibaba技术栈,集成了腾讯云3D服务、火山引擎图像服务和阿里云OSS存储,为用户提供完整的3D模型生成解决方案。
### 🚀 核心功能
- **多模态输入支持**:支持文本描述和图像输入生成3D模型
- **智能图像增强**:基于火山引擎的图像生成和增强功能
- **异步任务处理**:高效的异步任务提交和状态轮询机制
- **用户管理系统**:完整的用户注册、登录、权限管理
- **模型收藏管理**:支持模型收藏、浏览、下载统计
- **高性能缓存**:多级缓存架构,提升系统响应速度
- **容器化部署**:Docker容器化,支持一键部署
### 🏗️ 项目架构

### 🛠️ 技术栈
| 技术分类 | 技术选型 | 版本 | 说明 |
|---------|---------|------|------|
| **后端框架** | Spring Boot | 2.7.18 | 微服务基础框架 |
| **微服务治理** | Spring Cloud Alibaba | 2021.0.5.0 | 服务注册发现、配置管理 |
| **API网关** | Spring Cloud Gateway | 3.1.9 | 路由转发、限流熔断 |
| **数据访问** | MyBatis-Plus | 3.5.3.1 | ORM框架 |
| **数据库** | MySQL | 8.0 | 关系型数据库 |
| **缓存** | Redis | 7.0 | 内存数据库 |
| **消息队列** | - | - | 计划引入RocketMQ |
| **容器化** | Docker | 4.0+ | 容器化部署 |
| **编排工具** | Docker Compose | 2.0+ | 容器编排 |
| **负载均衡** | Nginx | 1.20+ | 反向代理、负载均衡 |
| **监控** | Prometheus + Grafana | - | 监控告警 |
| **文档** | SpringDoc OpenAPI | 1.6.15 | API文档生成 |
---
## 项目优势
### 🎯 技术优势
#### 1. 现代化微服务架构
- **服务拆分合理**:按照业务领域进行服务拆分,确保高内聚低耦合
- **技术栈统一**:采用Spring Cloud Alibaba技术栈,保证技术一致性
- **服务治理完善**:基于Nacos实现服务注册发现、配置管理、负载均衡
- **容错机制健全**:集成熔断器、限流器、重试机制,保证系统稳定性
#### 2. 高性能缓存架构
- **多级缓存设计**:本地缓存+Redis缓存+数据库三层缓存架构
- **智能同步机制**:定时同步+事件同步+手动同步多种同步策略
- **缓存防护体系**:缓存穿透、雪崩、击穿三大问题的完整防护方案
- **性能监控完善**:缓存命中率、响应时间、连接状态全方位监控
#### 3. 企业级安全架构
- **JWT认证体系**:无状态认证,支持分布式部署和水平扩展
- **多层安全防护**:网关层+应用层+数据层三层安全防护
- **数据加密保护**:敏感数据加密存储,传输过程HTTPS保护
- **安全审计机制**:完整的操作日志记录和安全事件监控
### 🚀 业务优势
#### 1. 用户体验优化
- **响应速度快**:通过缓存优化和性能调优,接口响应时间控制在200ms以内
- **功能完整**:支持文本到3D、图像到3D、图像增强等完整功能链路
- **操作简便**:RESTful API设计,支持多种客户端接入
- **状态透明**:实时任务状态查询,用户可随时了解处理进度
#### 2. 开发效率提升
- **开发框架统一**:Spring Boot + Spring Cloud Alibaba技术栈
- **代码规范标准**:统一的编码规范、注释规范、文档规范
- **测试覆盖完整**:单元测试、集成测试、性能测试全覆盖
- **部署流程自动化**:Docker容器化、CI/CD流水线、一键部署
#### 3. 运维管理便捷
- **监控体系完善**:Prometheus + Grafana监控,实时掌握系统状态
- **日志管理集中**:结构化日志、集中收集、快速检索
- **故障处理高效**:健康检查、自动恢复、故障转移机制
- **扩展性良好**:水平扩展支持、负载均衡、弹性伸缩
---
## 快速开始
### 📋 环境要求
#### 系统要求
- **操作系统**:Windows 10/11 (支持WSL2) 或 Linux (Ubuntu 18.04+)
- **内存**:8GB+ (推荐16GB)
- **存储**:20GB+ 可用空间
- **网络**:稳定的互联网连接
#### 软件要求
- **Docker Desktop**:4.0+ (Windows) 或 Docker Engine 20.10+ (Linux)
- **Docker Compose**:2.0+
- **Java**:8+ (用于构建项目)
- **Maven**:3.6+ (用于构建项目)
- **PowerShell**:5.0+ (Windows) 或 Bash (Linux)
### 🚀 Windows本地部署
#### 1. 环境准备
```powershell
# 克隆项目
git clone https://github.com/your-username/model-generate-service.git
cd model-generate-service
# 运行环境设置脚本
.\setup-environment.ps1
```
#### 2. 配置环境变量
```powershell
# 复制环境变量模板
Copy-Item env.example .env
# 编辑 .env 文件,配置以下内容:
# - TENCENTCLOUD_SECRET_ID: 腾讯云Secret ID
# - TENCENTCLOUD_SECRET_KEY: 腾讯云Secret Key
# - OSS_ACCESS_KEY_ID: 阿里云OSS Access Key ID
# - OSS_ACCESS_KEY_SECRET: 阿里云OSS Access Key Secret
# - ARK_API_KEY: 火山引擎API Key
```
#### 3. 构建项目
```powershell
# 构建所有服务
.\build-projects.ps1
# 或者手动构建
mvn clean package -DskipTests
```
#### 4. 启动服务
```powershell
# 启动所有服务(生产环境)
.\start-services.ps1
# 启动开发环境
.\start-services.ps1 -Dev
# 构建并启动
.\start-services.ps1 -Build
# 启动并查看日志
.\start-services.ps1 -Logs
```
#### 5. 验证部署
```powershell
# 检查服务状态
docker-compose ps
# 查看服务日志
.\view-logs.ps1
# 测试API接口
curl http://localhost/api/user/health
curl http://localhost/api/model/health
```
#### 6. 访问服务
| 服务 | 访问地址 | 说明 |
|------|---------|------|
| **API网关** | http://localhost:8080 | 统一API入口 |
| **Nacos控制台** | http://localhost:8848/nacos | 服务注册中心 |
| **用户服务** | http://localhost:8081 | 用户管理服务 |
| **模型服务** | http://localhost:8082/ | 模型生成服务 |
| **健康检查** | http://localhost/health | 系统健康状态 |
### 🐳 Linux Docker容器化部署
#### 1. 环境准备
```bash
# 安装Docker和Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 克隆项目
git clone https://github.com/your-username/model-generate-service.git
cd model-generate-service
```
#### 2. 配置环境
```bash
# 复制环境变量模板
cp env.example .env
# 编辑环境变量
nano .env
```
#### 3. 构建和启动
```bash
# 构建项目
mvn clean package -DskipTests
# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
```
#### 4. 服务管理
```bash
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 更新服务
docker-compose pull
docker-compose up -d
# 清理资源
docker-compose down -v
docker system prune -a
```
### 🔧 开发环境配置
#### 1. IDE配置
推荐使用IntelliJ IDEA或Eclipse进行开发:
```bash
# 导入项目
File -> Open -> 选择项目根目录
# 配置Maven
Settings -> Build -> Build Tools -> Maven
Maven home directory: 选择Maven安装目录
User settings file: 选择settings.xml文件
```
#### 2. 数据库配置
```sql
-- 创建数据库
CREATE DATABASE db_antiy3d CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户
CREATE USER 'model_user'@'%' IDENTIFIED BY 'model_pass123';
GRANT ALL PRIVILEGES ON db_antiy3d.* TO 'model_user'@'%';
GRANT ALL PRIVILEGES ON nacos.* TO 'model_user'@'%';
FLUSH PRIVILEGES;
```
#### 3. 本地调试
```bash
# 启动基础设施服务
docker-compose up -d mysql redis nacos
# 在IDE中启动各个服务
# 1. 启动UserServiceApplication
# 2. 启动ModelServiceApplication
# 3. 启动GatewayServiceApplication
```
### 📚 API文档
#### Swagger文档
启动服务后,访问以下地址查看API文档:
- **用户服务API**:http://localhost:8081/swagger-ui.html
- **模型服务API**:http://localhost:8082/swagger-ui.html
#### 主要API接口
##### 用户管理
```http
POST /api/user/register # 用户注册
POST /api/user/login # 用户登录
GET /api/user/profile # 获取用户信息
PUT /api/user/profile # 更新用户信息
```
##### 模型生成
```http
POST /api/model/generate # 提交模型生成任务
GET /api/model/status/{jobId} # 查询任务状态
GET /api/model/list # 获取模型列表
GET /api/model/{id} # 获取模型详情
```
##### 模型管理
```http
POST /api/model/favorite # 收藏模型
DELETE /api/model/favorite # 取消收藏
GET /api/model/favorites # 获取收藏列表
```
### 🐛 故障排除
#### 常见问题
1. **Docker启动失败**
```bash
# 检查Docker状态
docker info
# 重启Docker服务
sudo systemctl restart docker
```
2. **端口冲突**
```bash
# 检查端口占用
netstat -tulpn | grep :8080
# 修改docker-compose.yml中的端口映射
```
3. **数据库连接失败**
```bash
# 检查数据库状态
docker-compose logs mysql
# 重启数据库服务
docker-compose restart mysql
```
4. **服务注册失败**
```bash
# 检查Nacos状态
curl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=user-service
# 重启Nacos服务
docker-compose restart nacos
```
#### 日志查看
```bash
# 查看所有服务日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f model-service-1
# 查看最近100行日志
docker-compose logs --tail=100 -f
```
### 📞 技术支持
如果您在使用过程中遇到问题,可以通过以下方式获取帮助:
- **GitHub Issues**:提交问题和建议
- **技术文档**:查看 `Anity3D服务端系统架构设计文档.md` 了解详细架构
- **API文档**:访问Swagger文档了解接口详情
---
## 贡献指南
### 🤝 如何贡献
我们欢迎所有形式的贡献,包括但不限于:
- 🐛 报告Bug
- ✨ 提出新功能建议
- 📝 改进文档
- 🔧 提交代码修复
- 🧪 添加测试用例
### 📝 提交规范
请遵循以下提交规范:
```
():