QNA > C > Come Funziona Firebase?

Come funziona Firebase?

I servizi simili a Firebase sono un mix di:

  • no-sql data storage (come MongoDB)
  • pub/sub server (come Redis)
  • web-sockets enabled front-end server
  • client-side library

Il "quadro generale" è qualcosa come questo:

  • uno o più utenti sottoscrivono alcuni dati perché sono interessati a quelle informazioni
  • un server tiene traccia di queste sottoscrizioni, non appena avviene una nuova sottoscrizione alcuni dati vengono inviati come messaggio
  • quando un client scrive alcuni dati allora il server pub/sub trasmette questo aggiornamento a tutte le altre sottoscrizioni attive

Tutto funziona come pub/sub quindi non esiste il concetto di "interrogazione", basta dire a cosa si è interessati e poi si ricevono messaggi che descrivono i dati.

Approccio REST:
-> dammi la lista degli utenti
<- luke, obi, leila, darth
[stop]

Approccio PUB/SUB:
-> i'm interessati alla lista degli utenti
<- luke
<- obi
<- leila
<- darth
[.... wait for it ...]
<- yoda
[... wait for it ...]
-> i'm not interested anyore
[stop]

La cosa importante è che nei servizi Firebase-like i dati si muovono su e giù per un canale web-socket che è una cosa permanente e full-duplex.

Sei in grado di ricevere tanti piccoli messaggi invece di scaricare grandi blocchi di dati (questo migliora la reattività della tua app!)

Grazie ai web-sockets questi messaggi sono spinti al client quindi non c'è bisogno che l'utente ricarichi o aggiorni l'app.

Lo svantaggio di questa implementazione è che coinvolge molte tecnologie per lavorare insieme (e per essere configurato e mantenuto!)

Ecco perché servizi come Firebase offrono una buona semplificazione di utilizzo... dato che ci si può permettere il prezzo!

Di Bailie Westwood

Come funziona una rete locale (LAN)? :: Chrome OS sta battendo Windows 10 dal momento che tutto si sta spostando verso il cloud e Windows 10 non è basato sul cloud?
Link utili