# 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 微服务架构的分布式博客管理系统
---
## 项目简介
ICE 是一个基于 **Spring Cloud 微服务架构** 的分布式博客管理系统,采用前后端分离设计。系统分为前台社区和后台管理两个子系统,支持文章实时保存和聊天通信等特色功能。
### 核心特性
- 微服务架构,服务独立部署
- 文章实时保存(WebSocket)
- 实时聊天通信
- 邮箱验证功能
- Redis 缓存加速
- 消息队列异步处理
- RESTful API 设计
---
## 项目演示
### 前台社区系统
| 在线地址 | http://49.235.53.56 |
|---------|-------------------|
| 测试账号 | test1@gmail.com |
| 密码 | 123 |




### 后台管理系统


---
## 技术架构
### 整体架构图
```
┌─────────────────────────────────────────────────────────────────┐
│ 前端层 │
├─────────────────────────────────────────────────────────────────┤
│ 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 关注更新!