Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Socket.IO es una biblioteca de código abierto muy popular para la mensajería en tiempo real entre clientes y un servidor. La administración de conexiones con estado y persistentes entre clientes y un servidor suele ser una fuente de frustración para los usuarios de Socket.IO. El problema es más agudo cuando varias instancias de Socket.IO se distribuyen entre servidores.
Azure proporciona una solución en la nube totalmente administrada para Socket.IO. Esta compatibilidad elimina la carga de implementar, hospedar y coordinar instancias de Socket.IO para los desarrolladores. Después, los equipos de desarrollo pueden centrarse en la creación de experiencias en tiempo real mediante api conocidas de la biblioteca de Socket.IO.
Arquitectura simplificada
Esta característica elimina la necesidad de un componente de servidor "adaptador" al escalar horizontalmente una aplicación de Socket.IO, lo que permite al equipo de desarrollo obtener las ventajas de una arquitectura simplificada.
Ventajas sobre el hospedaje de una aplicación de Socket.IO usted mismo
En la tabla siguiente se muestran las ventajas de usar la solución totalmente administrada de Azure.
| Elemento | Hospedaje de una aplicación de Socket.IO usted mismo | Uso de Socket.IO en Azure |
|---|---|---|
| Implementación | Administrado por el cliente | Administrado por Azure |
| Hospedar aplicaciones de WPF | El cliente debe aprovisionar suficientes recursos de servidor para atender y mantener conexiones persistentes | Administrado por Azure |
| Escalado de conexiones | Cliente administrado mediante un componente del lado servidor denominado adaptador | Azure administrado con más de 100 000 conexiones de cliente lista para usar |
| Garantía de tiempo de actividad | Administrado por el cliente | Azure administrado con más del 99,9 % de tiempo de actividad |
| Seguridad de clase empresarial | Administrado por el cliente | Administrado por Azure |
| Sistema de soporte técnico de incidencias | No aplicable | Administrado por Azure |
Al hospedar una aplicación de Socket.IO usted mismo, los clientes establecen conexiones de WebSocket o sondeo largo directamente con el servidor. Mantener estas conexiones con estado supone una carga pesada en el servidor de Socket.IO. Esta carga limita el número de conexiones simultáneas y aumenta la latencia de mensajería.
Un enfoque común para cumplir el desafío de simultaneidad y latencia es escalar horizontalmente a varios servidores Socket.IO. El escalado horizontal requiere un componente del lado servidor denominado adaptador, como el adaptador de Redis que proporciona la biblioteca de Socket.IO. Sin embargo, este adaptador presenta un componente adicional que debe implementar y administrar. También requiere que escriba lógica de código adicional para que las cosas funcionen correctamente.
Con Socket.IO en Azure, se le libera de controlar problemas de escalado e implementar la lógica de código relacionada con el uso de un adaptador.
Mismo modelo de programación
Para migrar una aplicación de Socket.IO autohospedada a Azure, agregue solo algunas líneas de código. No es necesario cambiar el resto del código de la aplicación. En otras palabras, el modelo de programación sigue siendo el mismo y se reduce la complejidad de administrar una aplicación en tiempo real.