为了硬件连接的稳定性,tcp服务不做逻辑控制,只接收硬件采集数据、下发控制命令到硬件,想要做到用户直接通过http请求求下发数据,,bi,硬件采集的数据交给http服务器处理,问题就是http和tcp之间怎么连通,考虑过使用mq消息中间件,有啥其他方案求推荐?
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
之前我使用过的方案是mq, 采用的是rabbitmq,利用发布订阅机制,例如在TCP服务器中订阅(subscribe)topicA,向其注册回调函数, 当用户通过Http请求下发数据时,http服务器向topicA发布(publish)消息,该消息根据实际情况而定,tcp服务器在topicA上收到消息后,回调函数会被调用,该回调函数具体做什么可以根据情况而定,例如按照硬件接口,通过TCP协议发送命令。
在整个通信过程中,需要结合实际场景,考虑采用同步通信还是异步通信,也就是HTTP请求是等待收到硬件返回的结果后,在响应用户,还是把请求同mq交给TCP服务器后就直接响应用户。
添加回答
举报
0/150
提交
取消