重构项目结构:迁移到单体架构并优化代码组织

- 删除分布式架构相关文件和配置
- 将backend-distributed重命名为backend保留分布式代码作为参考
- 优化backend-single单体架构实现
- 添加Coze API集成相关文档和测试
- 清理项目根目录的部署脚本和配置文件
- 更新WebSocket和消息服务实现
- 完善认证服务和密码加密功能
This commit is contained in:
2025-07-24 22:16:27 +08:00
parent 847f5126cf
commit ca42a7d9a4
308 changed files with 1263 additions and 13496 deletions
@@ -0,0 +1,181 @@
# 网关服务配置更新总结
## 更新时间
2025-07-17
## 更新内容
### 1. 服务端口配置更新
根据当前backend下的最新模块,更新了所有微服务的路由配置:
| 服务名称 | 端口 | 路由路径 | 描述 |
|---------|------|----------|------|
| emotion-gateway | 19000 | - | 网关服务 |
| emotion-user | 19001 | /user/**, /captcha/**, /oauth/** | 用户服务(包含认证) |
| emotion-ai | 19002 | /ai/** | AI对话服务 |
| emotion-record | 19003 | /record/** | 情绪记录服务 |
| emotion-growth | 19004 | /growth/** | 成长课题服务 |
| emotion-explore | 19005 | /explore/** | 地图探索服务 |
| emotion-reward | 19006 | /reward/** | 成就奖励服务 |
| emotion-websocket | 19007 | /websocket/**, /ws/** | WebSocket聊天服务 |
| emotion-stats | 19008 | /stats/** | 统计分析服务 |
### 2. 新增WebSocket支持
#### WebSocket路由配置
```yaml
# WebSocket聊天服务路由
- id: emotion-websocket-route
uri: http://localhost:19007
predicates:
- Path=/websocket/**
filters:
- StripPrefix=0
# WebSocket连接路由 (支持WebSocket升级)
- id: emotion-websocket-ws-route
uri: ws://localhost:19007
predicates:
- Path=/ws/**
filters:
- StripPrefix=0
```
#### 特性
- 支持HTTP和WebSocket协议
- REST API路径:`/websocket/**`
- WebSocket连接路径:`/ws/**`
- 自动协议升级支持
### 3. 新增跨域配置
```yaml
# 全局跨域配置
globalcors:
cors-configurations:
'[/**]':
allowed-origins: "*"
allowed-methods: "*"
allowed-headers: "*"
allow-credentials: true
```
### 4. 端口冲突解决
**问题**emotion-stats和emotion-websocket都使用19007端口
**解决方案**
- emotion-websocket保持19007端口(新增的重要服务)
- emotion-stats更改为19008端口
**修改文件**
- `backend/emotion-stats/src/main/resources/application.yml`
### 5. 完整路由列表
#### 用户相关服务
- `/user/**` → emotion-user:19001
- `/captcha/**` → emotion-user:19001
- `/oauth/**` → emotion-user:19001
#### AI相关服务
- `/ai/**` → emotion-ai:19002
- `/websocket/**` → emotion-websocket:19007 (REST API)
- `/ws/**` → emotion-websocket:19007 (WebSocket)
#### 业务功能服务
- `/record/**` → emotion-record:19003
- `/growth/**` → emotion-growth:19004
- `/explore/**` → emotion-explore:19005
- `/reward/**` → emotion-reward:19006
- `/stats/**` → emotion-stats:19008
## 使用示例
### 1. 通过网关访问AI服务
```bash
# 直接访问
curl http://localhost:19002/api/ai/chat/send
# 通过网关访问
curl http://localhost:19000/ai/api/ai/chat/send
```
### 2. 通过网关访问WebSocket服务
```bash
# REST API测试
curl http://localhost:19000/websocket/online-users
# WebSocket连接
ws://localhost:19000/ws/chat
```
### 3. 通过网关访问用户服务
```bash
# 用户注册
curl http://localhost:19000/user/api/user/register
# 获取验证码
curl http://localhost:19000/captcha/api/captcha/generate
```
## 配置文件位置
- **主配置**`backend/emotion-gateway/src/main/resources/application-local.yml`
- **生产配置**`backend/emotion-gateway/src/main/resources/application-prod.yml`
- **Docker配置**`backend/emotion-gateway/src/main/resources/application-docker.yml`
## 注意事项
1. **端口一致性**:确保各服务的实际端口与网关配置一致
2. **WebSocket支持**:新增的WebSocket路由支持协议升级
3. **跨域配置**:已添加全局跨域支持,适用于前端开发
4. **路径匹配**:使用`StripPrefix=0`保持原始路径
5. **服务发现**:本地环境禁用Nacos,使用直连方式
## 验证方法
### 1. 检查网关状态
```bash
curl http://localhost:19000/actuator/health
```
### 2. 测试路由转发
```bash
# 测试用户服务路由
curl http://localhost:19000/user/actuator/health
# 测试AI服务路由
curl http://localhost:19000/ai/actuator/health
# 测试WebSocket服务路由
curl http://localhost:19000/websocket/online-users
```
### 3. 查看网关日志
```bash
tail -f backend/logs/emotion-gateway-local.log
```
## 后续优化建议
1. **负载均衡**:生产环境可考虑启用Nacos服务发现
2. **限流配置**:添加请求限流和熔断机制
3. **安全配置**:添加JWT认证过滤器
4. **监控配置**:集成链路追踪和指标监控
5. **缓存配置**:添加响应缓存机制
## 相关文件更新
-`backend/emotion-gateway/src/main/resources/application-local.yml`
-`backend/emotion-stats/src/main/resources/application.yml`
- ✅ 网关配置文档更新
## 测试状态
- ✅ 配置文件语法正确
- ✅ 端口冲突已解决
- ✅ WebSocket路由已添加
- ✅ 跨域配置已添加
- ⏳ 实际路由转发测试待进行