Introducción a Azure Fluid Relay

Fluid Framework es un marco de código abierto independiente de la plataforma. Azure Fluid Relay es una oferta administrada para Fluid Framework que permite a los desarrolladores crear experiencias de colaboración en tiempo real y replicar el estado entre clientes de JavaScript conectados en tiempo real.

¿Qué es Fluid Framework?

Fluid Framework es una colección de bibliotecas cliente para distribuir y sincronizar el estado compartido. Estas bibliotecas permiten que varios clientes creen estructuras de datos compartidas y operen en ellas de manera simultánea mediante patrones de codificación similares a los que se usan para trabajar con datos locales.

Puede encontrar más información al respecto en FluidFramework.com.

¿Por qué Fluid?

Porque es difícil garantizar experiencias colaborativas de baja latencia.

Fluid Framework ofrece:

  • Un modelo de aplicación centrado en el cliente con persistencia de datos que no requiere código de servidor personalizado.
  • Estructuras de datos distribuidas con modelos de programación conocidos.
  • Latencia muy baja.

Los desarrolladores de Microsoft integraron la colaboración en varias aplicaciones, pero muchas requerían una lógica del lado servidor específica de la aplicación para administrar la experiencia colaborativa. Fluid Framework es el resultado de la inversión de Microsoft en reducir la complejidad de la creación de aplicaciones colaborativas.

¿Qué pasaría si no tuviera que invertir en código de servidor en absoluto? Imagine poder utilizar un servidor de uso general diseñado para ser ligero y de bajo costo. Imagine centrar todo el desarrollo en la experiencia del cliente y que la sincronización de datos la administraran por usted. Esa es la promesa de Fluid.

Centrado en el desarrollador de cliente

Las aplicaciones creadas con Fluid Framework no requieren ningún código personalizado en el servidor a fin de habilitar escenarios sofisticados de sincronización de datos, como escribir en tiempo real en distintos editores de texto. Los desarrolladores de cliente pueden centrarse en las experiencias del cliente, a la vez que permiten que Fluid se encargue del trabajo de mantener los datos sincronizados.

Fluid Framework funciona con el marco de trabajo de la aplicación que prefiera. Ya sea que prefiera JavaScript o un marco como React, Angular o Vue, Fluid Framework permite que la creación de experiencias de colaboración sea algo sencillo y flexible.

Funcionamiento de Fluid

Fluid está diseñado para ofrecer experiencias de colaboración con un rendimiento excepcional. A fin de lograr este objetivo, el equipo mantiene la lógica del servidor lo más simple y ligera posible. Este enfoque ha ayudado a garantizar la sincronización prácticamente instantánea entre clientes con costos de servidor bajos.

Para que el servidor se mantenga sencillo, cada cliente de Fluid es responsable de su propio estado. Si bien los sistemas anteriores mantienen una fuente confiable en el servidor, el servicio Fluid se encarga de realizar las operaciones de datos, secuenciarlas y devolverlas, secuenciadas, a los clientes. Cada cliente puede usar esa secuencia para generar de manera independiente y precisa el estado actual, sin importar del orden en que recibe las operaciones.

Los pasos siguientes son un flujo típico.

  1. El código de cliente cambia los datos de manera local.
  2. El runtime de Fluid envía ese cambio al servicio Fluid.
  3. El servicio Fluid secuencia esa operación y la difunde a todos los clientes.
  4. El runtime de Fluid incorpora esa operación en los datos locales y genera un evento "valueChanged".
  5. El código de cliente controla ese evento (actualiza la vista, ejecuta la lógica de negocios).