Domanda di architettura su MQTT

0

Sto implementando una soluzione per IoT / home automation, iniziando il primo test a casa mia ...

Utilizzerà MQTT per scambiare messaggi utilizzando un modello di broker centrale.

Questi sono i componenti: server cloud, server centrale domestico, nodi domestici [sensori + attuatori].

Al momento ho il broker MQTT sul mio computer di casa ... La mia domanda è, cosa c'è di meglio per prestazioni / sicurezza / scalabilità

  1. avere il broker MQTT a casa mia e se il server centrale fallisce, avere dispositivi che comunicano con il cloud [i nodi hanno anche connessioni 3G via API]
  2. avere il broker MQTT sul cloud e coordinare tutto da internet
  3. hanno un approccio ibrido in cui se il server di casa è inattivo, utilizza il server cloud per il broker

c'è un'altra opzione di cui non sono a conoscenza?

    
posta MaKo 07.03.2016 - 06:25
fonte

2 risposte

1

Quali livelli di prestazioni / sicurezza / scalabilità avete bisogno? Quanto è vitale che il servizio rimanga disponibile? Sei preoccupato per la perdita di aggiornamenti tempestivi o la perdita di dati registrati in precedenza? Che tipo di servizio stai usando? Quanto è affidabile la tua connessione Internet / connessione 3G?

Esistono numerosi servizi cloud che ora forniscono un broker MQTT gestito, alcuni con piani gratuiti. IBM , AWS , MS . Ciò ti alleggerirà dell'onere della gestione del server, del backup, ecc.

Se non hai bisogno di > disponibilità 99,99%, questo è probabilmente tutto ciò di cui hai bisogno. Se si vuole essere sicuri di mantenere i messaggi in movimento anche se la connessione si interrompe, allora un server locale potrebbe aiutare. Probabilmente proverei 3 ma il contrario. Utilizzare il servizio cloud quando è disponibile e tornare a una macchina locale se necessario.

    
risposta data 10.03.2016 - 10:48
fonte
1

Considererei un'architettura a 2 livelli per questo. I dispositivi finali devono connettersi al broker MQTT locale sulla rete locale che alimenta un sistema di controllo host locale che fungerà da controller + aggregatore di dati che possono quindi comunicare con un broker basato su cloud per la connettività esterna a un provider di dashboard.

Naturalmente puoi giocare con varie combinazioni di questa architettura che si adatta alle tue esigenze.

    
risposta data 11.03.2016 - 20:29
fonte

Leggi altre domande sui tag