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