En primer lugar secreto! ¿Cómo lidiar con la selección de asientos de cebada de alto rendimiento a gran escala a los votos de agarre?

Autor | expertos técnicos Ali entretenimiento Henglei, ingeniero senior de desarrollo de nuevos fondos

Producido | AI campamento de base tecnológica (ID: rgznai100)

 

fondo

Con el desarrollo de la industria del entretenimiento en vivo, diversos tipos de actuaciones después de otras, más y más actuaciones de estar abierta, entradas a demanda de los usuarios se reúnen para la selección de asientos independientes. selección de asiento cebada no sólo para las pequeñas salas de teatro como espectáculo, sino también para los grandes eventos deportivos, conciertos grandes y otros lugares grandes (tales como el Nido de Pájaro cerca de 100.000).

función de selección de asiento es del tipo de entradas de última hora "elegir" a causa de "elección" de visualización y grandes lugares de la cantidad de datos que la cebada es un gran desafío. A través de servidor y algunas soluciones en el front-end para discutir cómo apoyar a los lugares a gran escala Ultra, selección de asiento de alto rendimiento, por parte de algunos aspectos de esta esperanza de ayuda puede en algunos de alta concurrencia práctica para el lector.

 

El problema central

Primer vistazo a la mercancía general pico, tomar un pico de teléfono móvil es, en circunstancias normales, sólo unos pocos modelos de teléfonos móviles, tales como archivos asequible, de alto rendimiento, tales como el buque insignia, manejar estos bienes inventario se puede. Para la clase de selección de asiento a la califican de agarre, todos todos los asientos de cada proyección se puede considerar un producto diferente, lugares grandes y pequeños, tienen un gran asiento nido 10w. Esa es una clase base a los votos en las elecciones de agarre que implica 10 millones nivel de mercancías, si la prisa por múltiples proyectos abiertos al mismo tiempo, el número total será muy grande. las dimensiones del producto actuales de vista del proveedor de electricidad de cebada es sólo los puestos de venta de entradas, el tamaño del asiento no es una mercancía, no se puede tomar ventaja de la capacidad del Grupo de pico, clase de selección de asiento a la califican de agarre que implican proveedor de electricidad, selección de asiento, la venta de entradas en la nube, la cebada es una prueba de la capacidad total.

Echemos un vistazo a todo el proceso de asientos, entradas: Las entradas para proyecto de prueba JJ Changsha como un ejemplo.

1, el usuario abre la página de selección necesidad detalles del proyecto

 

 

2. Haga clic en la compra selección de asiento, página de selección de asiento de abrir, ver mapas de asientos y puestos de venta de billetes

 

 

 

3. Seleccione una zona de tribuna, seleccione los asientos preferentes, asiento de la selección haga clic en Aceptar

 

             

4, la próxima sola página, rellene el siguiente número de teléfono de la dirección de envío, crear un orden

 

             

 

5, someter el fin de completar el pago, emisión de billetes. Entre ellos, 2,3,4 enlaces están asociados con la selección de asientos. Desde el punto de vista, la selección de asientos de las tecnologías clave que proceso:

  • mapa de asientos de carga rápida. De hecho, la capacidad de leer rápidamente el asiento se selecciona la carga de la página. Selección de asiento página del mapa base del asiento de descarga, la información básica del asiento (Arreglar, etc.) para hacer la prestación, pero los billetes requieren archivos, el estado de cada asiento de cribado para determinar está bloqueado o puede ser vendido o se han vendido. Para la gran cantidad de datos estadio asientos 50.000 -10 10.000, lo que hace a las necesidades página de selección de asiento son grandes;

  • Alta concurrencia. Debido a la escasez de entradas calientes, mientras que el número de entradas de última hora puede llegar a cientos de miles de personas. Cómo soportar una alta concurrencia tal y el rendimiento es una prueba importante;

  • Puntualidad de actualizaciones de estado de seguridad cuando un asiento vendido, la necesidad de actualizar el estado del asiento;

  • Grab vota experiencia: cuando a los votos de apoyo en las gradas de un asiento caliente puede ser complicado por decenas de personas tratan de robar, la mejor manera de mejorar la experiencia del usuario, en la medida de lo posible para que más usuarios a comprar un éxito de una sola vez, la experiencia mejor.

la práctica la selección de asientos de alto rendimiento

Los requisitos básicos para la selección de asientos de alto rendimiento, presentamos nuestra práctica para ir a clase de selección de asiento a la califican de agarre de varias dimensiones de la siguiente manera.

 

1. La combinación de movimiento

La cantidad de datos cuello de botella selección de asiento de "soportar el peso." Lógicamente, un asiento espectáculo completo frente al usuario, necesidad de incluir tribuna de asientos, Arreglar, precio, venta de estado y otra información, gradas, Organización y también lo es constante y predecible de antemano; la venta de Estado de acuerdo a los cambios dinámicos y también lo hará el proyecto. Por lo tanto, el asiento de división estroboscópica datos en datos dinámicos y estáticos. Para grandes espacios como estadios 100.000, el usuario abre una página seleccionada asiento, el asiento de los datos estáticos (Identificación del asiento, Identificación del billete, si los paquetes fijos, las coordenadas x, y, y en el escenario, que se sitúa, un par de filas de números, etc. ), estos datos sobre el 15M o menos. Junto con datos dinámicos tales como el estado velocidad de contaje, color, estado tribuna, el estado del asiento, estadio 10w probablemente alrededor de 2M.


En otras palabras, si no nos ocupamos de que el usuario sólo página de selección de asiento abierto en la cantidad de datos de más de 17M. Si los datos de selección de asiento almacenan en Oss, si todo el mundo descargado 15M, 10w personas al mismo tiempo que necesita para agarrar los votos de ancho de banda 1500G y los altos costos de ancho de banda. Con el fin de resolver el problema de la velocidad de acceso a los archivos estáticos, datos estáticos acceder directamente desde OSS a CDN. Mientras tanto, con el fin de proteger los datos más recientes, los datos estáticos mediante el control de versiones.

2. Los datos estáticos precargados

El ancho de banda alto pico antes mencionado, a fin de reducir el pico y mejorar la experiencia, el cliente se introduce datos estáticos precarga. Estático procesamiento de la información en relación con el pre-cargado, proporciona un margen de tiempo para procesar grandes cantidades de información asiento de datos, información de visualización estática de prioridad de usuario, los usuarios pueden reducir eficazmente el tiempo de espera, mejorar la experiencia del usuario al abrir la página de selección de asiento.

En combinación con el análisis del comportamiento del usuario por grandes volúmenes de datos, determinar el tipo de cribado precargado mejorar la tasa de éxito precargado.

 

Figura 2.1: precargar el flujo de ajuste

 

Precarga + pre-análisis, preparación de datos completada la elaboración de la información básica del lugar, y luego los datos de antelación Ver imagen asiento vinculante, Vista pre-renderizados y luego para abrir el segundo efecto página de selección de asiento.

3. Los datos que codifican asiento

Dinámico y el volumen de datos de Estados Unidos restringen estáticas para lograr un alto rendimiento, sino también un desperdicio de ancho de banda de tráfico de usuarios y el servicio. Tiene que ser comprimido, comprimido a un cierto rango aceptable. Sólo la cantidad de datos es lo suficientemente pequeño, única manera de lograr un alto rendimiento.

1) la codificación de datos estática

En el asa del asiento de grandes cantidades de datos (por ejemplo, cien mil) precargados datos sólo estática es a menudo insuficiente, precargado no tener los datos capacidad de procesamiento de la problema de los asientos, fundamentalmente, al mismo tiempo para un similares eventos multi-deportivos dicha fecha escenario de múltiples cribado, debido a la existencia del control de caché la cantidad de uso de la precarga, suelen afectar a la tasa de aciertos precargado. La compresión de datos y el uso de datos re-codificada es una forma efectiva para resolver el problema en su origen.

Renumeración de datos de seguridad, abandonando xml tradicional y formato JSON, no sólo puede tamaño de los datos con eficacia compresa, sino también en la seguridad de datos para proporcionar una garantía, incluso si son para obtener los datos de la interfaz debido a la falta de datos de protocolo de codificación, no se puede obtener una información original válido .

2) datos asiento estáticas compresión marco general

Actualmente cebada por sus características de los datos asientos específicos, combinados con el binario eficiente esquema de codificación que pasa a ser datos asiento de código, y luego usar la compresión sin pérdida genérico para reducir aún más el volumen de datos, reduciendo de ese modo los datos de seguridad de tiempo de transmisión de la red, de la raíz para resolver grande en este problemas de retardo de transmisión de datos causada por:

 

Figura 3.1: proceso de compresión de datos estáticos

 

datos binarios codificados en base sólo garantiza la seguridad de los datos, sino también asegurar la eficiencia en el análisis de datos, incluso si el uso de la compresión de datos también tiene menos retardo que analizar JSON, XML. Mientras tanto las herramientas de modo de producción en masa, y más resolver el problema de la construcción de datos.

             

Figura 3.2: arquitectura herramienta de compresión de datos estáticos

 

Y el proceso de negociación por el extremo del lado del servidor del apretón de manos para la codificación de compresión de datos realizar y composición general flexibles, Sever correspondiente final de compresión puede ser emitida para diferentes formatos de archivo termina:

Figura 3.3: La compresión de datos estáticos, negociación de establecimiento de flujo de trabajo

 

CRC combina con la idea de desarrollar un IOS, Android y vertical de verificación de hash compatibles basado en las propiedades de asiento H5 de tres terminales. En comparación con otro cálculo hash MD5 común, cuando se procesan 60.000 asiento multi-dimensional de la información, al final para alcanzar una decena de milisegundos, la detección de la cantidad total de datos de unos 50 milisegundos H5 lados, de tal manera que el caso no se necesita mucho tiempo para puede verificar la exactitud de decenas de miles de resolución asiento de la clase. Después de esto la completa detección de enlace de codificación, el volumen de reducción de datos realizado al mismo tiempo, mientras se mantiene la relación de XML tradicional y JSON datos analizados sintácticamente eficientes, de alta seguridad.

 

    

Figura 3.3: Comparación de datos comprimidos

 

En el que el cuántico es el final de la cebada y la molienda dinámico mordió diccionario algoritmo de compresión, en combinación con un gran escenario de negocio Matt, para lograr una alta relación de compresión de datos y análisis rápido:

 

Figura 3.4: cuántico estructura de archivos comprimido

 

3) los datos dinámicos que codifican asiento procesamiento

Dificultades a) datos dinámicos

interfaz de selección dinámica asiento principalmente relacionado con puestos de venta de entradas, la tribuna, el estado de sentado. La cantidad máxima de datos que es el asiento del estado. Con un estadio de 50.000 asientos, por ejemplo, cada asiento debe volver a un estado en el que la punta de representación. El uso de Identificación del asiento y el estado de la clave, ya que el asiento de modo que la totalidad de los resultados de retorno más es demasiado grande, 50.000 asiento trasero de datos estadio de lo anterior 1M.

Si la página tiene que abrir una selección de asiento cantidad 1M de datos de rendimiento, la interfaz básica no está disponible. Antes de que la política está en conformidad con la estrategia de agrupamiento, alrededor de 50.000 serán divididos en 10 grupos, cada solicitud por lo que la cantidad de datos sobre 100k, a fin de lograr la interfaz básica está disponible, pero necesidad de solicitud 10 veces en la final para conseguir el estado de toda la proyección puede pensar y saber cuánto rendimiento de impacto. Si el estadio con capacidad para 50.000, 100.000 entradas punta de pico, a continuación, esta interfaz se necesita solamente 1 millón de QPS, que sin duda va a agarrar cada colgante.

b) Programa

Actualmente interfaz es la premisa por acuerdo mtop, pensamos: mtop actualmente no es compatible byte [] flujo matriz, sólo es compatible con JSON formato de estructura de cadena. Cómo reducir los datos devueltos, trate de usar un programa sencillo, llamado una vez al mismo tiempo de devolver el estado entero asiento del estadio, la dirección de nuestros esfuerzos.

Gran cantidad de datos es principalmente porque hay una gran cantidad de redundancia Identificación del asiento. No hay manera de no depender de este tipo de sillas identificación? Ya que la separación estática y dinámica, datos estáticos ya cubiertos asientos Identificación, interfaz dinámica donde sólo tenemos que volver al estado correspondiente a ese estado con el fin de devolver el asiento todavía en el interior. Volvemos a la simple resultado de la fusión vecino estado reducirá aún más el tamaño de los resultados devueltos. Supongamos que el asiento asiento seleccionado por el usuario distribuye normalmente, y la duración media de un rendimiento promedio de menos de 5w 20k asiento.

Por supuesto, si MTOP soporta el protocolo de un flujo binario, entonces se puede almacenar con un poco bits, puede reducir aún más el tamaño del resultado devuelto.

4. caché eficiente

1) Cache

Para un alto TPS tales, Tair es la mejor opción. Tair + usando caché local, los datos para apoyar un pico tan alto. Mencionó Tair, por mencionar algunas de nuestras políticas aquí. la página del usuario en la selección de asiento es uno de los stands, se ha diseñado un caché de soporte, es decir, de pie caché de nivel, un usuario puede seleccionar asientos, también hemos añadido una caché de asiento, es el tamaño del asiento de la memoria caché. Dos caché para proteger al usuario comprobar las gradas y el usuario puede golpear la caché de base de radio. standcache tecla de acceso rápido, lo que permite cerca de datos en tiempo real de la selección de asiento no escena, por lo que la introducción de Tair localcache y guayaba localcache para aumentar el rendimiento, reduciendo así la presión en la lectura de Tair.

2) proteger el sistema de aguas abajo

Actualmente utiliza una estrategia de utilizar una llamada a la cerradura aguas abajo, Tair bloqueo global. Antes de ir para obtener los datos de la nube de fondo petición de billetes de bloqueo. Me dieron encerrado en el proceso de actualización de la memoria caché Tair. De hecho, de aquí en Tair escritura o QPS relativamente pequeñas, pero cada competición bloqueo de lectura en Tair o no demasiado pequeño. Al utilizar el bloqueo local Tair + permeabilidad al azar llegó a reducir QPS Leer cierre lento. Con el fin de hacer rebaja la dependencia aguas abajo, el aumento de instantánea de datos, grabar todas las llamadas a la instantánea de datos de bajada. Cuando la instantánea antes de la adopción de una llamada en particular no pudo compensar.

3) las actualizaciones de datos oportuna garantía

Debido a que usamos un bloqueo global Tair, se puede controlar el invocado aguas abajo en el segundo grado. Llamar gatillo asíncrona. Se activará el 1s más cortos que iniciar una llamada a la corriente abajo. Si queremos maximizar el uso de capacidades de inventario nube de alto precio, dando a los usuarios un retraso en menos de 1s, tenemos un poco de estrategia. Recibe las tareas de actualización de datos de llamadas dentro de un sellador de tornillos 1s, hacer algunas tareas en la estrategia de actualización de datos, iniciados dentro de 1s 1 varias llamadas en el billete o la nube, los más llamadas Tair actualizaciones más oportunas. Puesto que el usuario tiene una cierta selección de asiento operación, el retardo de usuario es de 500 ms en general sustancialmente no perceptible.

4) Tampón mirada de calentamiento de calentamiento caché, la experiencia del usuario y el rendimiento del sistema de ayuda. útiles de agarre proyectos utilizando ciertas estrategias no automatizadas pre calor.

 

5. Seguridad y recuperación de desastres

1) Seguridad

Mira asiento de cebada a partir de los datos anteriores de codificación y cifrado, y hacer rutas de almacenamiento confusión, no para proteger a la carrera asiento abierto contra el tiempo los datos no pueden ser agrietado, para proteger los datos de selección del asiento de seguridad. Por otra parte las estrategias de selección de asientos de prevención y control de diseño de página, la seguridad es una necesidad real de hacer clic en el asiento con el fin de completar el pedido, para evitar que los cepillos para evitar pasar por órdenes directas de selección de asiento. Por una estrategia similar reduce la selección de asiento de tráfico no válido, mejorar la estabilidad.

2) la recuperación de desastres

Selección de asiento se compone principalmente de desastres en las siguientes áreas. Los datos estáticos se almacena en la OSS, utiliza actualmente la recuperación de desastres regionales de almacenamiento; Tair utiliza búfer de caché de espera puede hacerse cuando el fallo de traspaso; PC y el clúster de servidor inalámbrico hicieron aislamiento.

 

resumen

En este papel, procesamiento de datos, el rendimiento de la selección de asientos, almacenamiento en caché, y así sucesivamente hasta algunas estrategias prácticas asiento opción de rendimiento de la cebada. A través de estas prácticas cebada puede fácilmente llevar a cientos de miles de artículos a los votos de agarre momento, el tráfico de la parte superior.

【end】


Bienvenidos a todos los desarrolladores bajo el relleno de lectura de códigos de Fanger Wei a cabo las "grandes desarrolladores y la investigación en IA", a sólo 2 minutos, se puede cosechar valor de 299 yuanes, "Los desarrolladores de AI millones de personas de congresos" entradas en vivo en línea!

推荐阅读全球呼吸机告急!医疗科技巨头美敦力“开源”设计图和源代码使用大batch优化深度学习:训练BERT仅需76分钟 | ICLR 2020
互联网之父确诊新冠,一代传奇:任谷歌副总裁、NASA 访问科学家
微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!2020年,这20个大家都认识的加密交易所过得怎么样?你点的每个“在看”,我都认真当成了AI
Liberadas 1375 artículos originales · ganado elogios 10000 + · vistas 6,85 millones +

Supongo que te gusta

Origin blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/105354903
Recomendado
Clasificación