QAUP_Management/doc/deploy/ADXP_WebSocket.md

137 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ADXP WebSocket 实时消息传输系统
## 系统架构
本系统实现了基于WebSocket的实时消息传输机制用于替代原有的轮询方式提高数据传输的实时性和系统效率。
### 组件构成
1. **adxp-adapter服务**
- 作为ADXP SDK与QAUP系统的桥梁
- 提供WebSocket服务端点
- 持续监听数据中台消息并通过WebSocket广播
2. **QAUP系统**
- 作为WebSocket客户端连接adxp-adapter
- 实时接收航班通知消息
- 处理消息并触发后续业务逻辑
## 部署和启动
### 1. 启动adxp-adapter服务
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/adxp-adapter
./start.sh
```
或者手动启动:
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/adxp-adapter
mvn spring-boot:run
```
### 2. 启动QAUP系统
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/qaup-admin
mvn spring-boot:run
```
## WebSocket端点
- **服务端点**: `ws://localhost:8086/ws/flight-notifications`
- **健康检查**: `http://localhost:8086/actuator/health`
## 配置说明
### adxp-adapter配置 (application.yml)
```yaml
adxp:
host: localhost # 数据中台地址
port: 7001 # 数据中台端口
server:
port: 8086 # 适配器服务端口
```
### QAUP系统配置 (application-dev.yml)
```yaml
data:
collector:
adxp-adapter:
host: localhost # adxp-adapter地址
port: 8086 # adxp-adapter端口
username: dianxin # 登录用户名
password: dianxin@123 # 登录密码
```
## 测试工具
### 1. 系统集成测试
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/tools
./test_adxp_websocket_system.py
```
### 2. WebSocket连接测试
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/tools
./test_adxp_websocket_integration.py
```
### 3. 简单HTML测试页面
```bash
cd /Users/tianjianyong/apps/Company/QAUP-Management/tools
open test_adxp_websocket.html
```
## 日志监控
### adxp-adapter日志
- WebSocket连接建立/断开
- 消息广播统计
- 错误信息记录
### QAUP系统日志
- WebSocket客户端连接状态
- 消息接收和处理
- 错误和异常处理
## 性能优势
1. **实时性提升**: 消息从数据中台到QAUP系统的延迟从250ms降低到几乎实时
2. **资源消耗降低**: 避免频繁的HTTP请求减少网络和CPU开销
3. **系统稳定性增强**: 避免HTTP超时和轮询堆积问题
4. **扩展性改善**: 支持多客户端订阅同一数据流
## 故障排除
### 1. 连接失败
检查以下配置:
- adxp-adapter服务是否正常运行
- 端口配置是否正确
- 网络连接是否正常
### 2. 消息接收异常
检查以下方面:
- 数据中台连接是否正常
- ADXP SDK是否正常工作
- 消息解析逻辑是否正确
### 3. 性能问题
监控以下指标:
- WebSocket连接数
- 消息处理速率
- 内存和CPU使用情况