A las tres de la madrugada, mi teléfono móvil vibró de repente como un loco. Cuando lo cogí aturdido, vi que los SMS de monitorización y alerta se habían acumulado más de veinte: la nueva versión del juego acababa de ponerse en línea, y el efecto promocional superaba con creces las expectativas, y el tráfico instantáneo había colmado directamente el ancho de banda. El lado de la sala de servidores de la noticia, la tasa de utilización de los puertos del conmutador central se disparó a 98%, los jugadores comenzaron a caer masivamente, foros y llamadas de servicio al cliente al instante explotó. Copié la expansión de la capacidad de emergencia de la computadora, mientras maldecía en mi corazón: en estos días, no temas a nadie para jugar el juego, por temor a que de repente demasiada gente para jugar, el servidor minutos para enseñarle a ser una persona.
Este escenario de montaña rusa de tráfico es demasiado común en la industria del juego. Las actualizaciones de versiones, las actividades populares, el anclaje con productos o incluso la repentina popularidad de una plataforma social pueden multiplicar instantáneamente el número de visitas por varias veces o incluso por docenas. El esquema tradicional de defensa del ancho de banda fijo es como poner una puerta de ancho fijo en un cruce de alta velocidad: suele ser suficiente, pero cuando llegan las vacaciones, se convierte directamente en un aparcamiento. Lo que es más, una gran cantidad de ataques DDoS también especialmente elegir este tipo de período pico de negocios mezclados en el tráfico normal para golpear más, por lo que se añade a los males.
¿Por qué tantas empresas de juegos caen presas de los picos de tráfico? El problema fundamental radica en la rigidez de la planificación de recursos y la falta de elasticidad. Para controlar el coste, muchos equipos sólo compran ancho de banda en función del tráfico medio, y el valor de defensa también se fija en función de la magnitud de los ataques regulares. Si realmente se encuentran con un tráfico inesperado, el proceso de ampliación manual se alarga: para aprobar, para contactar con el proveedor para ajustar, para probar ...... y así sucesivamente se hace todo, los jugadores han agotado durante mucho tiempo. Yo mismo he sufrido esta pérdida, los primeros años para hacer recorrido de la página, un pico de tráfico de la actividad de servicio, desde el descubrimiento para ampliar la capacidad para completar gastado casi 20 minutos, después del final de la mirada de datos de actividad, perdió todo un 37% de usuarios potenciales de pago.
Auto-escalado de ancho de banda elástico es la solución adecuada. Esto es para decirlo sin rodeos a la CDN equipado con detección inteligente y capacidades de escalado automático - el tráfico normal con el ancho de banda básico para ahorrar dinero, una vez que la detección de tráfico inesperado o ataques, el sistema automáticamente a la demanda de expansión, y luego reducir automáticamente la capacidad después del pico. El punto clave es “automático”, sin intervención humana, la velocidad de respuesta es de segundos. He probado, desde el umbral de activación de anomalías de tráfico a la expansión de la efectiva, el retraso real puede ser controlado dentro de los 10 segundos, que es proteger la experiencia del jugador es la diferencia entre la vida y la muerte.
Sin embargo, para lograr una verdadera expansión de la elasticidad, el concepto por sí solo no funcionará, sino que habrá que recurrir a soluciones técnicas específicas. El núcleo tiene que mirar a tres eslabones: algoritmos precisos de monitorización del tráfico, mecanismo de programación del ancho de banda sin fisuras y un modelo de facturación razonable. El nivel de monitorización no sólo puede fijarse en el uso global del ancho de banda, debe combinarse con el número de peticiones por segundo, el número de conexiones concurrentes, la frecuencia de acceso a URL específicas y otros indicadores multidimensionales, de lo contrario es fácil equivocarse - por ejemplo, la descarga de paquetes de parches puede disparar el ancho de banda, pero el número de peticiones no es mucho, y los ataques CC pueden no ser de gran ancho de banda, pero el número de peticiones a explotar. Un buen sistema tiene que ser capaz de diferenciar entre los picos de negocio y el tráfico de ataque, lo que requiere modelos de aprendizaje automático para hacer análisis de comportamiento.
El mecanismo de programación varía mucho de un proveedor de CDN a otro. El enfoque de CDN5 se basa en la red BGPanycast para realizar la carga global, programando automáticamente el tráfico al conjunto de nodos redundantes cuando se amplía la capacidad, los recursos de ancho de banda son compartidos, gran elasticidad, pero el coste es alto.CDN07 está preestablecido con un canal de ancho de banda de repuesto, activado por un umbral para cambiar rápidamente la línea, muy rápido, pero hay un límite superior a la capacidad de la solución 08Host es más alternativa, utilizan una especie de modelo de colaboración de elasticidad de nodo de borde, a través del protocolo P2P entre los nodos para asignar temporalmente el ancho de banda, bajo coste pero alta complejidad. Modelo de colaboración de elasticidad de nodos, a través del protocolo P2P entre los nodos para asignar temporalmente el ancho de banda, bajo coste pero alta complejidad. Cuál utilizar depende de las características de su negocio y presupuesto.
¡Hay que preguntar claramente el método de facturación! Algunos vendedores hablan de la expansión flexible de la capacidad, pero en realidad el modelo de facturación de pico - de acuerdo con los cargos máximos de ancho de banda del mes, en caso de un ataque en el cepillo de una cifra astronómica, la factura puede ser asustado de un ataque al corazón. No te creas la vaga propaganda del “pago por uso”, y asegúrate de anotar en el contrato si se trata de facturación 95 o facturación mensual por picos. Recomiendo encarecidamente el uso de 95 modelo de facturación (valor mensual de ancho de banda de alto a bajo ranking, eliminar el más alto 5% y tomar el máximo), esto puede disfrutar de la flexibilidad y no será ráfaga de tráfico a la quiebra, medido un año puede ahorrar más de 30% costos de ancho de banda.
Configuración de aterrizaje en realidad no es complicado, los pasos clave para dar el paso a la derecha. El primero es la configuración del umbral: si se establece demasiado bajo, es fácil ampliar erróneamente la capacidad para aumentar los costes; si se establece demasiado alto, se perderá la importancia de la protección. Por lo general, se recomienda que el umbral de referencia sea 1,5 veces el pico diario, y el umbral de emergencia, 2,5 veces. En segundo lugar, la granularidad de la expansión, es mejor utilizar una expansión escalonada, no tirar al máximo de golpe. Por ejemplo, primero ampliar 50Gbps, observar 5 minutos si el tráfico sigue aumentando y luego seguir ampliando, para evitar el despilfarro de recursos. Por último, hay que establecer las condiciones para la reducción de capacidad, normalmente el tráfico vuelve a caer por debajo del umbral y se estabiliza durante 15-30 minutos tras el inicio de la reducción automática de capacidad.
Proporcione un ejemplo de configuración real de una solución de autoconocimiento del tráfico basada en la implementación de Nginx+Lua:
No olvide realizar la integración con la API de su proveedor de CDN. Ahora los principales proveedores están proporcionando ricas interfaces abiertas, como la API de expansión de 08Host se puede activar directamente a través de curl:
Cuando se despliegue realmente, sugiero utilizar una estrategia escalonada. Por lo general, utilizar 08Host como la protección básica, rentable; encontrar actividades a gran escala con antelación para permitir la resistencia de la protección CDN5; realmente por un ataque a gran escala y luego activar el modo de protección de emergencia de CDN07. Esta combinación de uso, coste y rendimiento de seguridad para lograr el mejor equilibrio. El año pasado, nuestro juego para participar en eventos globales de e-competición, es así para llevar el momento de apertura 2,3 millones de jugadores al mismo tiempo el impacto de la afluencia, todo el proceso sin retraso.
También hay un pequeño truco: en la ampliación automática de la capacidad basada en la adición de un botón manual de emergencia. Hicimos una función de expansión con un solo clic en el backend de Operaciones, y el botón se hizo extra grande y rojo, con las palabras “¡Presione con precaución!” escritas en el lateral. --¿Quién tiene tiempo de buscar el menú oculto cuando hay una emergencia real? Sólo he pulsado este botón dos veces en tres años, pero cada vez me ha salvado la vida.
Una última observación: el escalado elástico no es una panacea. Resuelve el problema de los recursos de ancho de banda, pero si su aplicación en sí tiene un cuello de botella de rendimiento - como la piscina de conexión de base de datos no es suficiente, el diseño de caché no es bueno, la ineficiencia de código - que más ancho de banda no puede salvar. Es como una autopista ampliada a 100 carriles, pero la salida es sólo un carril estrecho, el bloqueo sigue bloqueado. Así que en el CDN elástico en la primera aplicación antes de la optimización de su propia para hacer un buen trabajo, de lo contrario es una pérdida de dinero.
La realidad es muy cruel: los jugadores nunca te darán una segunda oportunidad. Suelta la línea una vez y puedes perder un usuario para siempre. Ahora que nuestro sistema ha realizado plenamente la expansión automática elástica, por fin podemos dormir tranquilos por las noches. Al fin y al cabo, dejar que la tecnología esté al servicio de las personas, en lugar de que las personas apaguen fuegos todos los días, este es el estado más elevado de hacer tecnología.

