# xiaochen-cloud
**Repository Path**: chenguangju/xiaochen-cloud
## Basic Information
- **Project Name**: xiaochen-cloud
- **Description**: 1.自研RABC细粒度的权限控制!!!
2.自研多种限流策略!!!
3.自研授权中心支持多种授权模式!!!
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-27
- **Last Updated**: 2026-03-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# XiaoChen Cloud 微服务架构




基于 Spring Cloud 的微服务架构,支持 OAuth2 认证、服务网关、配置中心等功能
[快速开始](#-快速开始) • [架构设计](#-架构设计) • [功能特性](#-功能特性) • [文档](#-文档)
---
## 📋 项目简介
XiaoChen Cloud 是一个基于 Spring Cloud 的微服务架构项目,提供完整的微服务解决方案,包括:
- 🚪 **API 网关** - 统一入口,路由转发,限流熔断
- 🔐 **认证授权** - OAuth2 实现,支持多种授权模式
- ⚙️ **系统管理** - 用户、角色、权限管理
- 🌌 **业务服务** - 宇宙探索等业务功能
- 🔧 **基础设施** - Nacos、MySQL、Redis 等
## 🚀 快速开始
### 方式一:Docker Compose 部署(推荐)
**Windows 用户:**
```bash
docker\start.bat
```
**Linux/Mac 用户:**
```bash
chmod +x docker/start.sh
./docker/start.sh
```
### 方式二:本地开发
1. **启动基础设施**
```bash
docker-compose up -d mysql redis nacos
```
2. **启动微服务**
```bash
# 在 IDE 中启动各个服务
# 或使用 Maven 命令
mvn spring-boot:run -pl service-basic/service-gateway
mvn spring-boot:run -pl service-basic/service-auth
mvn spring-boot:run -pl service-basic/service-system
mvn spring-boot:run -pl service-basic/service-cosmic-insight
```
## 📦 项目结构
```
xiaochen-cloud/
├── service-component/ # 公共组件
│ ├── service-common-spring-boot-starter # 通用组件
│ ├── service-db-spring-boot-starter # 数据库组件
│ ├── service-redis-spring-boot-starter # Redis 组件
│ ├── service-security-spring-boot-starter # 安全组件
│ └── ...
├── service-basic/ # 基础服务
│ ├── service-gateway/ # API 网关 (11500)
│ ├── service-auth/ # 认证授权 (11501)
│ ├── service-system/ # 系统管理 (11502)
│ └── service-cosmic-insight/ # 宇宙探索 (11506)
├── service-demo/ # 示例服务
├── docker/ # Docker 配置
│ ├── docker-compose.yml # Docker Compose 编排
│ ├── start.sh / start.bat # 启动脚本
│ ├── stop.sh / stop.bat # 停止脚本
│ └── README.md # 部署文档
└── docs/ # 项目文档
```
## 🏗️ 架构设计
### 系统架构
```
┌─────────────┐
│ 客户端 │
└──────┬──────┘
│
↓
┌─────────────────────────────────────────┐
│ API Gateway (service-gateway) │ ← 统一入口、路由转发
└──────┬──────────────────────────────────┘
│
├──→ service-auth # 认证授权服务
├──→ service-system # 系统管理服务
└──→ service-cosmic-insight # 宇宙探索服务
│
├──→ Nacos (8848) # 服务注册与配置
├──→ MySQL (3306) # 数据存储
└──→ Redis (6379) # 缓存
```
### 技术栈
| 类别 | 技术 | 版本 |
|------|------|------|
| 基础框架 | Spring Boot | 2.7.x |
| 微服务框架 | Spring Cloud | 2021.x |
| 服务注册 | Nacos | 3.1.0 |
| API 网关 | Spring Cloud Gateway | 3.1.x |
| 认证授权 | Spring Authorization Server | 0.4.x |
| 数据库 | MySQL | 8.0 |
| 缓存 | Redis | 6.x |
| ORM 框架 | MyBatis Plus | 3.5.x |
| API 文档 | Knife4j | 4.5.0 |
| 容器化 | Docker | Latest |
## ✨ 功能特性
### 1. API 网关 (service-gateway)
- ✅ 统一入口,路由转发
- ✅ 限流熔断
- ✅ JWT 令牌验证
- ✅ 网关标识验证
- ✅ 白名单配置
### 2. 认证授权 (service-auth)
- ✅ OAuth2 授权码模式
- ✅ OAuth2 密码模式
- ✅ OAuth2 客户端模式
- ✅ OAuth2 设备码模式
- ✅ OAuth2 刷新令牌
- ✅ JWT 令牌生成
- ✅ 用户认证管理
### 3. 系统管理 (service-system)
- ✅ 用户管理
- ✅ 角色管理
- ✅ 权限管理
- ✅ 菜单管理
- ✅ 部门管理
- ✅ 字典管理
### 4. 宇宙探索 (service-cosmic-insight)
- ✅ 星球管理
- ✅ 星系管理
- ✅ 探索任务
- ✅ 数据可视化
### 5. 公共组件
- ✅ 统一异常处理
- ✅ 统一返回格式
- ✅ 分布式锁
- ✅ 分布式 ID
- ✅ 日志追踪
- ✅ 参数校验
## 🌐 服务端口
| 服务 | 端口 | 说明 |
|------|------|------|
| service-gateway | 11500 | API 网关 |
| service-auth | 11501 | 认证授权服务 |
| service-system | 11502 | 系统管理服务 |
| service-cosmic-insight | 11506 | 宇宙探索服务 |
| Nacos | 8848 | 服务注册与配置中心 |
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
## 📚 文档
### 部署文档
- [Docker Compose 部署指南](cicd/docker/README.md) - 详细的部署文档
- [快速启动指南](cicd/docker/QUICK_START.md) - 快速上手
- [部署方案总览](DOCKER_DEPLOYMENT.md) - 架构设计和技术特点
### 开发文档
- [架构设计](docs/README.md) - 系统架构设计
- [API 文档](docs/XiaoChen-Cloud-Apifox.json) - Apifox 接口文档
- [Kubernetes 部署](docs/k8s-docker-installation-guide.md) - K8s 部署指南
### 其他文档
- [Calico 网络](docs/calico.md) - Calico 网络配置
- [CI/CD 指南](docs/本地虚拟机%20GitLab%20+%20Jenkins%20环境搭建与自动化部署指南.md) - 自动化部署
## 🔧 开发指南
### 环境要求
- JDK 8+
- Maven 3.6+
- Docker 20.10+
- Docker Compose 2.0+
### 本地开发
1. **克隆项目**
```bash
git clone https://github.com/your-repo/xiaochen-cloud.git
cd xiaochen-cloud
```
2. **启动基础设施**
```bash
docker-compose up -d mysql redis nacos
```
3. **导入数据库**
```bash
# 导入系统数据库
mysql -h localhost -u root -p123456 sys < service-basic/service-system/doc/sys.sql
# 导入宇宙探索数据库
mysql -h localhost -u root -p123456 cosmic_insight < service-basic/service-cosmic-insight/doc/cosmic_insight.sql
```
4. **启动服务**
```bash
# 在 IDE 中启动各个服务
# 或使用 Maven 命令
mvn clean install
mvn spring-boot:run -pl service-basic/service-gateway
```
### 访问服务
- Nacos 控制台: http://localhost:8848/nacos (nacos/nacos)
- API 网关: http://localhost:11500
- Knife4j 文档: http://localhost:11501/doc.html
## 🧪 测试
```bash
# 运行单元测试
mvn test
# 运行集成测试
mvn verify
# 跳过测试构建
mvn clean package -DskipTests
```
## 📊 监控
### 健康检查
```bash
# 检查网关健康状态
curl http://localhost:11500/actuator/health
# 检查认证服务健康状态
curl http://localhost:11501/actuator/health
```
### 查看日志
```bash
# 查看所有服务日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f service-gateway
```
## 🤝 贡献
欢迎贡献代码、提出问题和建议!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📄 许可证
本项目采用 Apache License 2.0 许可证。详见 [LICENSE](LICENSE) 文件。
## 📞 联系方式
- Email: 3546766954@qq.com
- GitHub: [XiaoChen Cloud](https://github.com/your-repo/xiaochen-cloud)
## 🙏 致谢
感谢以下开源项目:
- [Spring Boot](https://spring.io/projects/spring-boot)
- [Spring Cloud](https://spring.io/projects/spring-cloud)
- [Nacos](https://nacos.io/)
- [MyBatis Plus](https://baomidou.com/)
- [Knife4j](https://doc.xiaominfo.com/)
---
**如果这个项目对您有帮助,请给个 ⭐️ Star 支持一下!**
Made with ❤️ by XiaoChen Cloud Team