Я столкнулся с некоторой проблемой при создании службы IoT.
Моя архитектура показана ниже:
UserBrowser<------>WebServer<---->NettyServer<----->Client(IoT device, auto response)
Здесь netty-сервер действует как промежуточный прокси-сервер, который преобразует Userbrowser
сообщение и сообщение веб-сервера в двоичный поток на удаленное устройство IoT, а затем устройство IoT возвращает обратно некоторое сообщение пользователю.
Я использую RocketMQ
для связи между WebServer
и NettyServer
У меня вопрос, поскольку http-запрос UserBrowser - это синхронизация , Netty - асинхронная архитектура, как преобразовать асинхронную операцию в Netty для синхронизации HTTP-запроса?
Должен ли я кешировать запросы и ждать ответа от IoT, а затем вернуться обратно? в этой ситуации WebServer
является синхронизирующим вызовом
Или я должен всегда использовать async, результат опроса UserBrowser из WebServer
?