Сервер для обработки соединений с умными сокетами

9

Сейчас я работаю над архитектурой для приложения, которое будет управлять умными сокетами, и мне нужен совет. Это то, что я имею сейчас:

Архитектура системы

Я не уверен, как обрабатывать соединение между Spring и умным сокетом (я хочу иметь возможность включать / выключать сокет из моего веб-приложения). Я общаюсь с моими сокетами через HTTP. Моя идея состоит в том, чтобы иметь сервер, который будет управлять соединениями и командами между Spring и сокетами:

  1. Когда сокет будет включен, он попытается подключиться к серверу.
  2. Сервер будет ждать новых подключений от умных сокетов, чтобы сохранить их. Также он будет ожидать команды Spring для изменения состояния сокета.

Это хорошая идея? Если да, есть ли какой-нибудь инструмент, который поможет мне сделать это (возможно, встроенный в Spring), или я должен написать его самостоятельно?

Томаш Каневский
источник
На первый взгляд, здесь много движущихся частей. В настоящий момент Node-RED не собирается делать что-либо, кроме неконтролируемых данных, для экземпляра Mongo, но (при условии, что это только для вас), он, вероятно, также способен представить все
элементы переднего плана

Ответы:

7

У вас уже есть возможность публиковать данные по протоколу MQTT, даже посредник и способ пересылать определенные запросы в Spring из сокета.

Я не вижу смысла брать на себя ответственность, зная, подключен ли сокет для некоторых запросов Spring. MQTT-брокер делает это под капотом, вам не нужно снова изобретать колесо.

Итак, я бы создал еще несколько издателей и подписок на Spring и socket и использовал бы там MQTT в качестве протокола, на этот раз не затрагивая http.

Мико
источник