¿Cómo funciona Firebase?

Los servicios similares a Firebase son una combinación de:

  • almacenamiento de datos sin sql (como MongoDB)
  • servidor pub / sub (como Redis)
  • servidor front-end habilitado para sockets web
  • biblioteca del lado del cliente

El “panorama general” es algo como esto:

  • uno o más usuarios se suscriben a algunos datos porque están interesados ​​en esas informaciones
  • un servidor realiza un seguimiento de esas suscripciones, tan pronto como se produce una nueva suscripción, algunos datos se devuelven como mensaje
  • cuando un cliente escribe algunos datos, el servidor pub / sub transmite esta actualización a todas las demás suscripciones activas

Todo funciona como pub / sub, por lo que no existe tal concepto de “consulta” , solo le dice lo que le interesa y luego recibe mensajes que describen los datos.

Enfoque de descanso:
-> dame la lista de usuarios
<- luke, obi, leila, darth
[detener]

Enfoque PUB / SUB:
-> Estoy interesado en la lista de usuarios
<- luke
<- obi
<- leila
<- darth
[… espera …]
<- yoda
[… espera …]
-> Ya no estoy interesado
[detener]

Lo importante es que en los servicios similares a Firebase los datos se mueven hacia arriba y hacia abajo en un canal de socket web que es un material permanente y full-duplex.

Puede recibir muchos mensajes pequeños en lugar de descargar grandes cantidades de datos (¡esto mejora la reactividad de su aplicación!)

Gracias a los sockets web, esos mensajes se envían al cliente para que el usuario no tenga que volver a cargar o actualizar la aplicación.

El inconveniente de esta implementación es que involucra muchas tecnologías para trabajar juntas (¡y para ser configuradas y mantenidas!)

Es por eso que servicios como Firebase ofrecen una buena simplificación de uso … ¡dado que puede pagar el precio!

Firebase es esencialmente una base de datos en tiempo real. Los datos aparecen como archivos JSON y permiten que se produzcan cambios en tiempo real en el lado del cliente conectado. Cuando crea aplicaciones multiplataforma con iOS, Android, JavaScript SDK, sus clientes terminan recibiendo todos los datos que se actualizaron.

Para leer más sobre Firebase: ¿Estoy usando Firebase o Google Play Services? El | Blog SafeDK

Aclamaciones.

  • En lo básico, sucede una conexión dedicada a largo plazo entre el cliente (en el navegador) y el servidor.
  • Cualquier actualización en el cliente se transmite al servidor sin iniciar una nueva conexión ya que ya existe una conexión.
  • El servidor envía la actualización a otros clientes conectados (e interesados) ya que la conexión ya existe.

Puede obtener información sobre su implementación al ver el ejemplo del uso de Firebase con la biblioteca de interfaz de usuario de JavaScript Webix: Age of Dynamic Web Pages – FireBase

Puede intentar leer sobre cometa, websockets, socket.io, sockets sin procesar para comprender cómo funciona Firebase.

Eche un vistazo a este protocolo WAMP, el Protocolo de mensajería de aplicaciones web, me parece un clon completo, pero con más control de las transmisiones y también de código abierto. Atención especial para el enrutador Erlang.