# 异步MQTT服务安装指南 ## 依赖安装 为了使用高性能的异步MQTT服务,需要安装额外的依赖: ```bash pip install aiomqtt ``` ## 配置说明 系统会自动检测是否安装了 `aiomqtt`: - **如果已安装 aiomqtt**:系统将使用异步MQTT客户端,提供更好的并发性能 - **如果未安装 aiomqtt**:系统会回退到同步MQTT客户端,但包装为异步接口 ## 性能对比 ### 异步MQTT服务优势: 1. **高并发处理**:可以同时处理大量设备的消息 2. **非阻塞IO**:消息处理不会阻塞其他操作 3. **更好的资源利用**:减少线程开销 4. **自动重连**:内置连接管理和自动重连机制 ### 适用场景: - 大量设备同时连接(>50个设备) - 高频率消息传输(>100消息/秒) - 对延迟敏感的应用 - 需要可靠连接管理的场景 ## 使用方法 系统会自动选择最佳的MQTT服务: ```python # 设备处理服务会自动使用异步MQTT(如果可用) from services.online_script.device_handler_service import get_device_service device_service = get_device_service() await device_service.start_service() ``` ## 监控和调试 可以通过以下方式检查MQTT服务状态: ```python # 获取连接信息 connection_info = device_service.registry.mqtt_service.get_connection_info() print(f"异步模式: {connection_info['async_mode']}") print(f"连接状态: {connection_info['connected']}") print(f"订阅主题: {connection_info['subscribed_topics']}") ``` ## 故障排除 ### 1. 如果aiomqtt安装失败 ```bash # 尝试升级pip pip install --upgrade pip pip install aiomqtt # 或者使用conda安装 conda install -c conda-forge aiomqtt ``` ### 2. 如果连接问题 - 检查MQTT服务器配置 - 确认网络连接 - 查看日志中的错误信息 ### 3. 性能问题 - 监控CPU和内存使用 - 检查消息处理频率 - 考虑调整MQTT配置参数