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.
- ¿Es segura una aplicación web node.js (r) de los ataques DDOS?
- ¿Por qué hay tan pocas aplicaciones web complejas y pesadas en datos?
- ¿Podemos hacer aplicaciones web pesadas usando Yii 2?
- ¿Puedes conectarte a múltiples cuentas de Twitter con IFTTT?
- ¿Qué pila web debo usar para la aplicación web interna de las empresas cuyas características son como paneles de control, gestión de productos y gestión de inventario?
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!