Servidor para lidar com conexões com soquetes inteligentes

9

No momento, estou trabalhando na arquitetura de aplicativos que gerenciarão soquetes inteligentes e preciso de conselhos. É isso que tenho por enquanto:

arquitetura do sistema

Não sei ao certo como lidar com a conexão entre o Spring e o soquete inteligente (desejo poder ativar / desativar o soquete do meu aplicativo da web). Eu me comunico com meus soquetes via HTTP. Minha idéia é ter um servidor que gerencie conexões e comandos entre o Spring e os soquetes:

  1. Quando o soquete estiver ativado, ele tentará se conectar ao servidor.
  2. O servidor aguardará novas conexões dos soquetes inteligentes para salvá-las. Também aguardará que os comandos do Spring alterem o estado do soquete.

É uma boa ideia? Se sim, existe alguma ferramenta que me ajude a fazer isso (talvez seja criada no Spring) ou devo escrever sozinha?

Tomasz Kaniewski
fonte
À primeira vista, há muitas partes móveis aqui. No momento, o Node-RED não parece estar fazendo nada, exceto dados froward na instância do Mongo, mas (supondo que isso seja apenas para você) provavelmente é capaz de apresentar toda a parte frontal
hardillb

Respostas:

7

Você já possui a capacidade de publicar dados pelo protocolo MQTT, mesmo um broker e uma maneira de encaminhar determinadas solicitações para o Spring a partir do soquete.

Não vejo sentido em assumir a responsabilidade de saber se o soquete está conectado para alguns pedidos do Spring. O corretor MQTT faz isso sob o capô, você não precisa inventar a roda novamente.

Portanto, eu criaria mais editores e assinaturas para Spring e socket e usaria o MQTT como o protocolo lá, sem tocar no http dessa vez.

mico
fonte