构建物联网服务时遇到了一些问题。
我的体系结构如下所示:
UserBrowser<------>WebServer<---->NettyServer<----->Client(IoT device, auto response)
这里的Netty服务器充当传递代理,它将Userbrowser
消息和Web服务器消息转换为二进制流并传输到远程IoT设备,然后IoT设备将一些消息返回给用户。
我使用RocketMQ
在WebServer
和NettyServer
之间进行通信
我的问题是,由于UserBrowser的http请求是 sync 操作,Netty是异步体系结构,如何在Netty中将异步操作转换为同步HTTP请求?
我应该缓存请求并等待来自IoT的响应,然后返回吗?在这种情况下,WebServer
是同步通话
还是应该始终使用异步方式,WebServer
的UserBrowser轮询结果?