# 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 微服务架构
![License](https://img.shields.io/badge/license-Apache%202-blue.svg) ![Java](https://img.shields.io/badge/Java-8-orange.svg) ![Spring Cloud](https://img.shields.io/badge/Spring%20Cloud-2021-green.svg) ![Docker](https://img.shields.io/badge/Docker-Compose-blue.svg) 基于 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