Los aceleradores de enrutamiento personalizados mejoran el rendimiento para las aplicaciones en tiempo real al proporcionar un control determinista y de grano fino sobre cómo se enruta el tráfico de usuarios a recursos de backend específicos, como las instancias de Amazon EC2, dentro de una nube privada virtual (VPC). Este enfoque es particularmente beneficioso para las aplicaciones que requieren conexiones consistentes y de baja latencia y asignaciones precisas de usuario a servidor, como juegos en tiempo real, VOIP y videoconferencia.
Cómo los aceleradores de enrutamiento personalizados mejoran el rendimiento
-Mapeo determinista del usuario a instancia: a diferencia de los aceleradores estándar que enrutan el tráfico en función de la proximidad y la salud del punto final, los aceleradores de enrutamiento personalizados le permiten usar la lógica de su aplicación para asignar usuarios a instancias EC2 específicas en función de criterios como la ubicación geográfica, la habilidad del jugador o el tipo de sesión. Esto garantiza que los usuarios se conecten constantemente al mismo servidor de backend, lo que es crítico para mantener el estado de la sesión y reducir la latencia en aplicaciones en tiempo real [3] [4].
- Enrutamiento directo a nivel de puerto: aceleradores de enrutamiento personalizados mape rangos de puertos de oyentes a destinos y puertos específicos de instancias EC2 dentro de sus subredes VPC. Este control a nivel de puerto permite que su aplicación escuche en puertos consistentes en instancias, simplificando la configuración del cliente y reduciendo el tiempo de configuración de la conexión [3] [4].
- Uso de la red global de AWS: el tráfico se enruta a través de la infraestructura de la red global de AWS, que optimiza las rutas de red, reduce la congestión de Internet y minimiza la pérdida de paquetes. Esto da como resultado una menor latencia y conexiones más confiables, esenciales para la capacidad de respuesta en tiempo real en las aplicaciones de juegos y comunicación [3] [5] [8].
-Soporte para protocolos UDP y TCP: las aplicaciones en tiempo real a menudo requieren UDP para transferencia de datos rápida y de baja latencia y TCP para una entrega confiable. Los aceleradores de enrutamiento personalizados admiten ambos protocolos por puerto, lo que permite a las aplicaciones optimizar los protocolos de transporte sin duplicar las configuraciones [3].
- Direcciones IP estáticas y puntos finales consistentes: los aceleradores de enrutamiento personalizados proporcionan direcciones IP estáticas que permanecen asignadas siempre que exista el acelerador. Esta estabilidad permite a los clientes mantener puntos de conexión consistentes, evitando retrasos causados por la resolución de DNS o los cambios de IP, lo que es vital para la continuidad de la sesión en tiempo real [2] [5].
- Control y seguridad de tráfico granular: de forma predeterminada, el tráfico a los destinos de la subred VPC se niega hasta que se permita explícitamente, proporcionando acceso seguro y controlado a instancias de backend. Puede especificar qué dirección IP y combinaciones de puertos pueden recibir tráfico, mejorando la seguridad sin sacrificar el rendimiento [3].
- Cumplimiento automático de conmutación por conmutación y monitoreo de la salud: aunque los aceleradores de enrutamiento personalizados enrutan el tráfico de forma determinista, aún aprovechan el monitoreo de la salud de AWS para garantizar que el tráfico solo esté dirigido a puntos finales saludables, evitando las interrupciones en las sesiones en tiempo real [5] [8].
Casos de uso en aplicaciones en tiempo real
- Juegos en línea: los jugadores se pueden asignar a los servidores de juegos basados en el nivel de habilidad, la ubicación o el modo de juego, asegurando la baja latencia y la experiencia consistente de juego. El enrutamiento determinista reduce el retraso y la pérdida de paquetes, mejorando la capacidad de respuesta [3] [4] [5].
- VoIP y videoconferencia: se pueden enrutar múltiples usuarios a servidores de medios específicos para sesiones de voz, video y mensajería, asegurando conexiones estables y una latencia mínima para la comunicación en tiempo real [3] [4].
- Otras aplicaciones con estado: las aplicaciones que requieren conexiones persistentes y afinidad de la sesión se benefician de la asignación fija de los usuarios a las instancias de back -end, reduciendo la sobrecarga de conexión y mejorando la experiencia del usuario [4] [5].
En resumen, los aceleradores de enrutamiento personalizados mejoran el rendimiento de la aplicación en tiempo real al combinar un control preciso de enrutamiento de tráfico, rutas de red globales de AWS optimizadas, flexibilidad de protocolo y puntos finales estables y seguros. Este enfoque de enrutamiento personalizado reduce la latencia, mantiene la consistencia de la sesión y mejora la capacidad de respuesta general de la aplicación crítica para los casos de uso en tiempo real.
Citas:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-accelerators.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-it-works.html
[3] https://cloudchipr.com/blog/aws-global-accelerator
[4] https://awstraininginpune.com/aws-global-accelerator-enhance-app-performance/
[5] https://www.nops.io/glosario/what-is-aws-global-accelerator/
[6] https://awscli.amazonaws.com/v2/documentation/api/latest/reference/globalaccelerator/create-custom-routing-accelerator.html
[7] https://hands-on.cloud/aws-services/global-accelerator/
[8] https://www.i3d.net/aws-gcp-network-solutions-true-cost-of-optimized-connectivity/
[9] https://www.alibabacloud.com/help/en/ga/user-guide/overview-2/
[10] https://pages.awscloud.com/rs/112-tzm-766/images/gc-800_improvingappdelivery_ebook_updated_final.pdf