# MyChat - 分布式即时通讯系统
## 项目概述
MyChat 是基于 C++ 开发的高性能分布式即时通讯系统,采用微服务架构,支持多平台客户端实时通信。核心特色:统一消息处理、智能路由分发、多平台认证。
## 核心特性
**🚀 高性能架构**
- Boost.Asio 异步 I/O,支持万级并发
- WebSocket + HTTP 双协议通信
- Protocol Buffers 序列化 + CRC32 校验
**🔐 多平台认证**
- JWT 双 Token 认证机制
- 支持 Web/移动端/桌面端/小程序
- Redis 缓存 + 设备级会话管理
**🔄 统一消息处理**
- UnifiedMessage 格式统一处理不同协议
- 智能路由:HTTP 路径自动映射后端服务
- 动态配置热重载
## 技术架构
```
客户端 → 网关服务 → 微服务集群 → 数据层
Gateway (用户/好友/群组/消息) Redis/DB
```
**核心组件**
- `UnifiedMessageProcessor`: 统一消息处理器
- `RouterManager`: 智能路由管理器
- `MultiPlatformAuthManager`: 多平台认证管理器
- `WebSocketServer`: 高性能 WebSocket 服务器
## 处理流程
1. **连接**: WebSocket/HTTP 连接网关
2. **认证**: JWT Token 验证
3. **解析**: 转换为 UnifiedMessage 格式
4. **路由**: cmd_id 分发到对应微服务
5. **响应**: 结果返回客户端
## 技术优势
- **高并发**: 异步 I/O + 连接池
- **模块化**: 清晰分层,易扩展
- **安全性**: JWT 认证 + 多平台支持
- **稳定性**: 完善错误处理 + 容错机制
## 应用场景
企业即时通讯、多平台社交应用、在线客服系统、实时协作工具、游戏聊天系统
MyChat 展现了现代 C++ 在高性能服务器开发中的强大能力,是构建企业级实时通信应用的优秀选择。