Сейчас я работаю над архитектурой для приложения, которое будет управлять умными сокетами, и мне нужен совет. Это то, что я имею сейчас:
Я не уверен, как обрабатывать соединение между Spring и умным сокетом (я хочу иметь возможность включать / выключать сокет из моего веб-приложения). Я общаюсь с моими сокетами через HTTP. Моя идея состоит в том, чтобы иметь сервер, который будет управлять соединениями и командами между Spring и сокетами:
- Когда сокет будет включен, он попытается подключиться к серверу.
- Сервер будет ждать новых подключений от умных сокетов, чтобы сохранить их. Также он будет ожидать команды Spring для изменения состояния сокета.
Это хорошая идея? Если да, есть ли какой-нибудь инструмент, который поможет мне сделать это (возможно, встроенный в Spring), или я должен написать его самостоятельно?
system-architecture
smart-plugs
Томаш Каневский
источник
источник
Ответы:
У вас уже есть возможность публиковать данные по протоколу MQTT, даже посредник и способ пересылать определенные запросы в Spring из сокета.
Я не вижу смысла брать на себя ответственность, зная, подключен ли сокет для некоторых запросов Spring. MQTT-брокер делает это под капотом, вам не нужно снова изобретать колесо.
Итак, я бы создал еще несколько издателей и подписок на Spring и socket и использовал бы там MQTT в качестве протокола, на этот раз не затрагивая http.
источник