# ice **Repository Path**: putl/ice ## Basic Information - **Project Name**: ice - **Description**: 《本项目为毕设项目》 一个基于 Spring Cloud、 Spring Boot、MyBatis-Plus、MySQL、Redis、WebSocket、邮箱验证等技术栈实现的博客系统,采用主流的互联网技术架构、全新的UI设计👍 。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2024-12-31 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Vue, SpringCloud, nacos, Redis ## README

ICE 博客系统

一个基于 Spring Cloud 微服务架构的分布式博客管理系统

Java Spring Boot Spring Cloud Vue

--- ## 项目简介 ICE 是一个基于 **Spring Cloud 微服务架构** 的分布式博客管理系统,采用前后端分离设计。系统分为前台社区和后台管理两个子系统,支持文章实时保存和聊天通信等特色功能。 ### 核心特性 - 微服务架构,服务独立部署 - 文章实时保存(WebSocket) - 实时聊天通信 - 邮箱验证功能 - Redis 缓存加速 - 消息队列异步处理 - RESTful API 设计 --- ## 项目演示 ### 前台社区系统 | 在线地址 | http://49.235.53.56 | |---------|-------------------| | 测试账号 | test1@gmail.com | | 密码 | 123 | ![前台首页](/images/img.png) ![文章列表](/images/img_4.png) ![文章详情](/images/img_5.png) ![聊天功能](/images/img_6.png) ### 后台管理系统 ![后台首页](/images/img_1.png) ![数据统计](/images/img_13.png) --- ## 技术架构 ### 整体架构图 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 前端层 │ ├─────────────────────────────────────────────────────────────────┤ │ ui-ice (Vue3 + Element Plus) │ ui-admin (Vue3 + Element Plus) │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ Gateway-Service (网关层) │ │ 路由转发 │ 负载均衡 │ 跨域处理 │ 统一鉴权 │ └─────────────────────────────────────────────────────────────────┘ │ ┌─────────────────────────┼─────────────────────────┐ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ User Service │ │Article Service│ │ Nacos │ │ 用户服务 │ │ 文章服务 │ │ 注册/配置中心 │ └───────────────┘ └───────────────┘ └───────────────┘ │ │ └─────────┬───────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 中间件层 │ ├──────────┬──────────┬──────────┬──────────┬─────────────────────┤ │ MySQL │ Redis │ RabbitMQ │WebSocket │ Knife4j │ │ 数据库 │ 缓存 │ 消息队列 │ 实时通信 │ API文档 │ └─────────────────────────────────────────────────────────────────┘ ``` ### 后端技术栈 | 技术 | 版本 | 说明 | |-----|------|-----| | Java | 17 | 编程语言 | | Spring Boot | 3.2.4 | 基础框架 | | Spring Cloud | 2023.0.1 | 微服务框架 | | Spring Cloud Alibaba | 2023.0.1.0 | 阿里微服务组件 | | Nacos | 2.x | 服务注册与配置中心 | | MyBatis-Plus | 3.5.5 | ORM 框架 | | MySQL | 8.0.28 | 关系型数据库 | | Redis | - | 缓存中间件 | | RabbitMQ | - | 消息队列 | | Knife4j | 4.4.0 | API 文档 | | Hutool | 5.8.20 | 工具类库 | ### 前端技术栈 | 技术 | 版本 | 说明 | |-----|------|-----| | Vue | 3.5.12 | 前端框架 | | Vite | 5.4.10 | 构建工具 | | Element Plus | 2.8.8 | UI 组件库 | | Vue Router | 4.4.5 | 路由管理 | | Vuex | 4.1.0 | 状态管理 | | Axios | 1.7.7 | HTTP 客户端 | | ECharts | 5.6.0 | 数据可视化 | --- ## 模块说明 ``` ice/ ├── article-service/ # 文章服务 │ ├── 文章CRUD │ ├── 分类管理 │ ├── 标签管理 │ └── 实时保存 ├── user-service/ # 用户服务 │ ├── 用户认证 │ ├── 个人信息 │ ├── 好友关系 │ ├── 消息系统 │ └── 足迹记录 ├── gateway-service/ # 网关服务 │ ├── 路由转发 │ ├── 负载均衡 │ └── 统一鉴权 ├── ui-ice/ # 前台社区前端 └── ui-admin/ # 后台管理前端 ``` --- ## 当前状态 ### 已完成功能 | 模块 | 功能 | 状态 | |-----|------|-----| | 用户服务 | 注册/登录/登出 | ✅ | | 用户服务 | 个人信息管理 | ✅ | | 用户服务 | 邮箱验证 | ✅ | | 用户服务 | 好友关系管理 | ✅ | | 用户服务 | 消息系统 | ✅ | | 用户服务 | 浏览/点赞/收藏 | ✅ | | 文章服务 | 文章CRUD | ✅ | | 文章服务 | 分类/标签管理 | ✅ | | 文章服务 | 实时保存 | ✅ | | 文章服务 | 文章搜索 | ✅ | | 网关服务 | 路由转发 | ✅ | | 网关服务 | 跨域处理 | ✅ | | 前台社区 | 文章浏览 | ✅ | | 前台社区 | 聊天通信 | ✅ | | 后台管理 | 数据统计 | ✅ | ### 项目评分 | 维度 | 评分 | 说明 | |-----|:----:|-----| | 架构设计 | ⭐⭐⭐⭐ | 微服务架构合理 | | 代码质量 | ⭐⭐⭐⭐ | 结构清晰,测试不足 | | 功能完整性 | ⭐⭐⭐⭐ | 核心功能齐全 | | 可维护性 | ⭐⭐⭐ | 模块化好,文档不足 | | 性能 | ⭐⭐⭐ | 使用缓存,优化空间大 | | 安全性 | ⭐⭐⭐ | 基本措施,需要加强 | --- ## 改造计划 ### 第一阶段:基础完善(2-3周) **目标**:提升代码质量和工程化水平 - [ ] 完善单元测试(目标覆盖率 60%+) - [ ] 统一异常处理和响应格式 - [ ] 完善 API 文档(Knife4j) - [ ] 添加代码注释和开发文档 - [ ] 引入 SonarQube 代码质量检查 - [ ] 统一日志格式和日志规范 ### 第二阶段:架构增强(4-6周) **目标**:提升系统稳定性和可观测性 - [ ] 引入 Sentinel 实现服务限流熔断 - [ ] 引入 Seata 处理分布式事务 - [ ] 引入 SkyWalking 实现链路追踪 - [ ] 引入 ELK 实现日志聚合分析 - [ ] Redis 升级为 Cluster 模式 - [ ] MySQL 主从复制配置 ### 第三阶段:功能扩展(4-6周) **目标**:增加特色功能和业务价值 - [ ] 新增搜索服务(基于 Elasticsearch) - [ ] 新增推荐服务(协同过滤/内容推荐) - [ ] 新增通知服务(邮件/短信/站内信) - [ ] 新增文件服务(OSS 对象存储) - [ ] 新增定时任务服务(数据统计) - [ ] 评论楼中楼功能 - [ ] 文章点赞/收藏功能 ### 第四阶段:性能优化(3-4周) **目标**:提升系统性能和并发能力 - [ ] 数据库慢查询优化 - [ ] 接口缓存策略优化 - [ ] 静态资源 CDN 加速 - [ ] WebSocket 改为 Netty 实现 - [ ] 服务间通信改为 gRPC - [ ] 分库分表方案设计 ### 第五阶段:安全加固(2-3周) **目标**:提升系统安全性 - [ ] 接口签名验证 - [ ] XSS/CSRF 防护 - [ ] 接口限流防刷 - [ ] 敏感数据加密存储 - [ ] 操作日志审计 - [ ] SQL 注入防护增强 ### 第六阶段:DevOps(2-3周) **目标**:实现自动化部署 - [ ] Docker 容器化配置 - [ ] Docker Compose 编排 - [ ] Jenkins/GitLab CI 流水线 - [ ] 自动化测试集成 - [ ] 自动化部署脚本 - [ ] 监控告警配置 --- ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - Node.js 16+ - MySQL 8.0+ - Redis 5.0+ - RabbitMQ 3.8+ - Nacos 2.x ### 后端启动 ```bash # 1. 启动 Nacos cd nacos/bin ./startup.sh -m standalone # 2. 导入数据库 mysql -u root -p < sql/ice_user.sql mysql -u root -p < sql/ice_article.sql # 3. 启动服务(按顺序) cd user-service && mvn spring-boot:run cd article-service && mvn spring-boot:run cd gateway-service && mvn spring-boot:run ``` ### 前端启动 ```bash # 前台社区 cd ui-ice npm install npm run dev # 后台管理 cd ui-admin npm install npm run dev ``` --- ## 学习价值 通过本项目的改造,可以掌握以下技能: - Spring Cloud 微服务架构设计 - 分布式系统常见问题解决 - 高并发系统性能优化 - 分布式缓存设计与应用 - 消息队列使用与最佳实践 - 容器化部署与 CI/CD - 系统监控与故障排查 - 前后端分离全栈开发 --- ## 贡献指南 欢迎提交 Issue 和 Pull Request! --- ## 开源协议 [MIT License](LICENSE) ---

持续改造中,欢迎 Star 关注更新!