Recientemente, he estado ayudando a algunas aplicaciones sociales a migrar al extranjero, y lo primero que dice siempre el cliente es “¿Puedes conseguir que los usuarios del sudeste asiático dejen de decir palabrotas?”. La segunda frase es: “Anoche nos volvieron a penetrar, ¿hay algo que podamos hacer?”.”
En estos días para hacer aplicaciones sociales, no han sido DDoS pantalla cepillo se avergüenzan de decir que se dedican a Internet. El mes pasado, una plataforma social de audio y vídeo acaba de disparar, tres días seguidos sufrió tres veces más de 500G ataques de tráfico, los usuarios de América del Norte directamente en la tarjeta PPT - el jefe del partido A me golpeó a las 4:00 de la mañana en el teléfono: “Hermano, más dinero se puede resolver?”
La aceleración en ultramar y la alta defensa son originalmente una combinación de amor mutuo. Si quieres velocidad, tienes que extender el nodo hasta la puerta del usuario; si quieres prevenir ataques, tienes que centrarte en limpiar todo el tráfico. Pero cuando pones el tráfico del usuario norteamericano alrededor de Tokio limpiando y luego tiras hacia Los Ángeles, el retraso es suficiente para hacer una taza de café - el usuario desinstaló la App.
He probado el “Global Intelligent Scheduling” del que alardea una gran empresa, y como resultado, la petición del usuario australiano fue lanzada al nodo indio, y la latencia se disparó a 380 ms. La “Dynamic Path Optimisation” de la que alardea el documento técnico es en realidad la programación de menor coste según la tabla de enrutamiento BGP. El documento técnico presume de "optimización dinámica de la ruta", que en realidad es la programación de menor coste según la tabla de encaminamiento BGP, y no tiene nada que ver con la experiencia del usuario.
Una solución verdaderamente fiable debe resolver tres problemas al mismo tiempo: rendimiento de aceleración, capacidad de defensa y control de costes. Sin uno de ellos, todo es una broma.
Empecemos por la aceleración. Las características del tráfico de las aplicaciones sociales son demasiado obvias: ráfagas, conexiones largas, requisitos en tiempo real pervertidos. Esquema de almacenamiento en caché HTTP puro simplemente no puede llevar, tiene que empezar desde la capa de protocolo.
La solución de optimización que realizamos para una plataforma de retransmisión en directo en el sudeste asiático obligó a desplegar el protocolo QUIC en los nodos de borde. No mire sólo un cambio de este tipo, débil entorno de red latencia directamente reducido por 40%. especialmente la India como el entorno de red es comparable a los países de la lotería, el apretón de manos 0-RTT de QUIC que el TCP tres veces apretón de manos es mucho más fiable.
El ejemplo de configuración no es realmente complicado (por supuesto, hay que ajustar más parámetros para el despliegue real):
Pero no te creas las tonterías de “QUIC puede acelerar”. Las implementaciones de QUIC de algunos proveedores de CDN no están optimizadas en absoluto. He probado una que dice ser globalmente acelerada, y el rendimiento de QUIC era peor que el de TCP - resultó que la versión de su kernel era demasiado antigua, y ni siquiera se habían adaptado a BBR.
Además de la pieza de defensa. Las aplicaciones sociales son las que más temen los ataques CC, que parecen peticiones normales pero que no gustan específicamente a la interfaz. Inicio de sesión de usuario, lista de amigos, push de mensajes, estas API se rompen en minutos.
El año pasado, ayudé a un software de citas en el extranjero a hacer la protección, y el otro ingeniero juró que había utilizado “WAF inteligente”. Como resultado, tomé una herramienta para simular el comportamiento normal del usuario y eludí su base de reglas en diez minutos - porque su mecanismo de desafío JS no había sido actualizado durante tres años, y los rastreadores fueron capaces de identificarlo directamente.
Ahora, una defensa CC eficaz debe combinarse con el análisis del comportamiento. Por ejemplo, la detección de la trayectoria del ratón, la frecuencia de eventos táctiles, e incluso el estado de energía del dispositivo (realmente no he visto un rastreador móvil simulará cambios de energía).
Esta es la regla de impugnación dinámica que utilizamos actualmente en la plataforma CDN07:
Curiosamente, algunas fuentes de ataque imitan ahora el comportamiento humano. Un bot capturado la semana pasada deslizaba la pantalla de forma aleatoria, pero no conseguía imitar la inclinación giroscópica de un teléfono: ¿quién en su sano juicio navega por una aplicación social con el teléfono en punta como si fuera un nivel?
La cobertura de los nodos es la verdadera prueba de la solidez de los proveedores de CDN. Muchos vendedores dicen “cobertura global”, de hecho, Europa y los Estados Unidos nodos apilados, América Latina y África dependen de dos nodos para apoyar. Especialmente los usuarios sudafricanos, a menudo enrutados a Europa y luego de vuelta.
Hemos comparado el rendimiento real de los tres fabricantes:
Los nodos norteamericanos de CDN5 son realmente potentes, pero el Sudeste Asiático alquila básicamente ancho de banda a proveedores locales de segundo nivel, y el pico de pérdida de paquetes por la noche puede alcanzar los 15%.
La cobertura europea de CDN07 es enfermizamente densa, con puntos pop incluso en pequeños países de Europa del Este, pero las rutas sudamericanas pasan a menudo por túneles baratos con demasiadas fluctuaciones de latencia.
08Host este tipo es interesante, especializada en el cultivo profundo de los mercados emergentes. En Indonesia directamente auto-construido sala de servidores, Yakarta usuario latencia presión a 20ms, pero el nodo de América del Norte en lugar de la general.
Así que ahora la práctica fiable es la programación mixta. Recursos estáticos van CDN5, tráfico API con protección CDN07, video en vivo en 08Host línea dedicada - aunque la complejidad de la gestión es alta, pero el costo puede ser reducido por 30% o más, el rendimiento también se puede mejorar.
Una nota final sobre las trampas de los costes. Muchos vendedores de “protección ilimitada” es puramente un juego de palabras. Una vez que un cliente compró un paquete ilimitado anti-DDoS, los resultados fueron cepillados 700G se le dijo que “más allá de la escala del negocio” - el contrato original oculto en el tope diario 300G invisible.
Ahora nuestros contratos lo exigen explícitamente:
- Si el límite de protección se basa en el importe máximo o en el total
- Si los nodos de limpieza están desplegados cerca (si no, picos de latencia).
- Si la dimensión estadística de la protección CC es el número de solicitudes o el número de conexiones concurrentes.
- Si los nodos extranjeros admiten certificados localizados (algunos países exigen SSL local para el aterrizaje de datos).
Para ser sincero, esta línea de flotación es demasiado profunda. Algunos vendedores venden Vietnam nodos como Singapur (enrutamiento alrededor de Hong Kong), algunos vendedores de “enrutamiento inteligente” es en realidad para encontrar un nodo con la latencia más baja, independientemente de las capacidades defensivas. Recientemente, también me encontré con un caso extraño: un CDN del nodo japonés fue derribado, automáticamente cortó el tráfico al nodo de EE.UU. - los usuarios japoneses experimentan directamente un retraso de 400ms, esta programación inteligente bien podría ser renombrada como programación retardada.
Una solución realmente eficaz debe adaptarse a la forma de empresa. Las aplicaciones sociales deben diferenciar entre tipos de empresa:
Los usuarios utilizan rutas de gran ancho de banda para subir vídeos
Líneas de baja latencia para el envío de mensajes
Priorizar las solicitudes de amistad para garantizar la estabilidad
Por último, una sugerencia sólida: no te creas los datos de demostración del proveedor, haz tú mismo pruebas reales. Utilice la plataforma global de pruebas en la nube para simular el comportamiento de los usuarios en todo el mundo y realice pruebas durante tres días consecutivos en las horas punta de la tarde. Una vez, un proveedor me mostró su latencia de nodo de Singapur de 50 ms, la prueba real descubrió que la medición del retraso a la sala de servidores en lugar de al equipo del usuario - el usuario real a la latencia de nodo promedio de 170 ms, el pico puede ser de hasta 300 ms.
Ahora es práctica habitual para nosotros exigir a los proveedores que abran sus interfaces de monitorización en tiempo real y escriban sus propios scripts para contar la experiencia real del usuario en todas partes. Especialmente en India y Brasil, que son zonas con redes complejas, es importante fijarse en los datos de latencia del percentil 95 y no en la media.
No hay una solución de una vez por todas para la aceleración en el extranjero, sólo un proceso de optimización continua. Recientemente, estamos experimentando con soluciones de computación de borde, poniendo parte de la lógica directamente en los nodos CDN para ejecutar - como mensaje como esta operación de luz, en el nodo local directamente procesado para volver, e incluso de vuelta a la fuente se guardan. Probado retardo de interacción con el usuario canadiense de 220ms hasta 80ms, el efecto es mucho más evidente que la simple aceleración.
Al final, las soluciones técnicas son para los servicios empresariales. Una vez que un cliente tuvo que ir en la red anycast global más caro, y encontró que los principales usuarios en el sudeste de Asia - ahorrar presupuesto 80% con proveedores locales, la experiencia es mejor. Hacer la tecnología es la más fácil caer en la trampa de “la búsqueda de la perfección”, ya veces la solución más práctica es la rápida y furiosa.
(Después de escribir y mirar el recuento de palabras, en realidad se disparó a 2500. Lo anterior es puramente una historia de sangre y lágrimas reales, como el mismo, que ha pisado el pozo. Bienvenido a trolling intercambio de pares, pero no me preguntes nombre específico del cliente - a cara tienen que mantener en secreto).

