mirror of
https://github.com/BgaSol/sol-cloud
synced 2026-04-21 17:17:16 +00:00
4.6 KiB
4.6 KiB
Sol-Cloud
项目介绍
Sol-Cloud是一个基于微服务架构的云服务平台,采用前后端分离设计模式,提供系统管理和文件管理等核心功能。该项目使用Docker容器化技术进行部署,具有高可用性、可扩展性和安全性。
系统架构
整体架构
项目分为前端(client)和后端(cloud)两大部分:
- 前端:基于Vue 3的单页面应用
- 后端:基于Spring Cloud的微服务集群
- 部署:基于Docker的容器化部署
微服务架构
- API网关:统一入口,请求路由和过滤
- 系统服务:用户、角色、权限等系统管理功能
- 文件服务:文件上传、下载和管理功能
- 公共模块:工具类、常量、基础模型等共享组件
技术栈
前端技术栈
- 核心框架:Vue 3.5.12
- UI组件库:Element Plus 2.8.8
- 构建工具:Vite 5.4.10
- 编程语言:TypeScript 5.6.3
- HTTP客户端:Axios 1.7.7
- 状态管理:Pinia 2.2.6
- 路由管理:Vue Router 4.4.5
后端技术栈
- 核心框架:Spring Boot 3.3.4
- 微服务框架:Spring Cloud 2023.0.3
- 微服务组件:Spring Cloud Alibaba 2023.0.1.0
- ORM框架:MyBatis Plus 3.5.10.1
- 认证框架:Sa-Token 1.39.0
- 服务注册与配置中心:Nacos 2.5.0
- 数据库:PostgreSQL 17.2
- 缓存:Redis 7.4.2
- 对象存储:MinIO RELEASE.2024-11-07T00-52-20Z
项目结构
前端结构
client/
├── src/
│ ├── api/ # API接口定义
│ ├── assets/ # 静态资源
│ ├── components/ # 可复用组件
│ ├── composables/ # 组合式API
│ ├── generated/ # 自动生成的代码
│ ├── pinia/ # 状态管理
│ ├── router/ # 路由配置
│ ├── styles/ # 样式文件
│ ├── util/ # 工具函数
│ └── views/ # 页面视图组件
├── public/ # 公共静态资源
├── index.html # 入口HTML
└── vite.config.ts # Vite配置
后端结构
cloud/
├── common/ # 公共模块
│ ├── common-auth/ # 认证授权相关
│ ├── common-base-model/ # 基础数据模型
│ ├── common-base-web/ # Web基础组件
│ ├── common-constant/ # 常量定义
│ └── common-util/ # 通用工具类
├── model/ # 数据模型定义
├── plugin/ # 插件模块
├── web/ # 业务服务模块
│ ├── web-system-8081/ # 系统管理服务
│ └── web-file-8082/ # 文件管理服务
└── gateway-9527/ # API网关
部署指南
环境要求
- Docker 20.10+
- Docker Compose 2.0+
- JDK 17+
- Node.js 20+
开发环境部署
-
克隆代码仓库
git clone https://github.com/yourusername/sol-cloud.git cd sol-cloud -
启动后端服务
cd docker docker-compose -f dev.docker-compose.yml up -dsystem和file需要手动启动
-
启动前端开发服务器
cd client npm install npm run dev
生产环境部署
-
启动所有服务
docker-compose up -d -
访问系统
http://localhost:8080 -
安全注意事项
警告:生产环境部署时,请注意以下安全事项:
- 不要将内部服务组件(如Nacos、Redis、PostgreSQL、MinIO等)直接暴露到公网
- 确保只有API网关和前端应用对外开放访问
- 使用防火墙限制内部服务的访问来源
- 所有对外服务应启用HTTPS加密传输
- 定期更新密码和密钥
- 建议使用反向代理(如Nginx)作为外部访问的唯一入口
功能特性
- 用户认证与授权管理
- 角色与权限管理
- 文件上传与管理
- 系统配置管理
- 日志审计
开发指南
添加新微服务
- 在cloud目录下创建新的服务模块
- 在docker-compose.yml中添加新服务配置
- 在网关配置中添加新服务路由
前端开发
- 在src/api中添加新的API接口
- 在src/views中创建新的页面组件
- 在src/router中配置新的路由
贡献指南
- Fork本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个Pull Request
许可证
本项目采用 LICENSE 许可证。