la práctica Qihoo 360 Kafka

temas de negocios

  1. IDC leer y escribir a través de la presión de ancho de banda de la diferencia a grandes problemas. negocio más repetida también puede consumir y producir, causando una gran pérdida a través de la red de IDC, IDC otro a través de la red no es estable, a menudo se encuentran algunas anomalías
  2. comisión de servicio cliente directamente desnudo es difícil, siendo el segundo paquete
    • Las excepciones se captura incompleta
    • Uso buena Kafka tienen mayores necesidades de negocio
    • El cliente no puede ser tolerante a fallos completamente cubierta 360 requisitos escena en vivo. Cuando la red o agrupación anormal hasta que la falta de disponibilidad, se perderán los datos
    • No es compatible con la semántica exactamente una vez, con la realización de las necesidades del negocio
    • ......
  3. La falta de soporte para datos de alta disponibilidad, si todas las copias se distribuyen las rebanadas en un único bastidor, alto riesgo de pérdida de datos
  4. El segmento de datos (particiones) la distribución desigual. Si el número de nodos de clúster es mucho mayor que el número de particiones, kafka algoritmo de asignación de defecto puede causar sesgan datos, algunos de distribución multi-nodo, distribución de algunos utilización rara recurso de hardware es baja
  5. máquinas nuevas y viejas en la configuración del clúster desequilibrio de la carga diferencia. El rápido desarrollo de hardware con el tiempo, la adición de nuevas prestaciones de la máquina es una máquina antigua para aumentar geométricamente, si se distribuye de manera uniforme, la carga no está equilibrada, las nuevas máquinas tienen suficiente para comer, comer la vieja máquina.

Selección de la tecnología

360 Selección Kafka varias dimensiones de las siguientes consideraciones: actividad de la comunidad, el soporte de cliente, el rendimiento, la fiabilidad, la comparación de datos

 

 

De kafka aspectos más destacados de arquitectura de análisis de diseño

  • rendimiento de Kafka y el rendimiento son altas, por un mecanismo de aplicación de copia cero y pagecache sendfile, leer y escribir naturaleza secuencial de estos discos se puede hacer con gran caudal ordinario, costo relativamente alto.
  • Kafka ISR a través de la réplica y mecanismos para asegurar la alta disponibilidad de los datos.
  • cúmulo kafka tiene dos funciones administrativas: controlador está haciendo la gestión del cluster; coordinador principalmente hacer la gestión a nivel de negocio. Ellos por Kafka interior para servir como un corredor, cuando una conmutación por error corredor, elecciones en las que un corredor puede ser reemplazado, que se puede encontrar en Kafka un diseño descentralizado, pero el controlador en sí es un cuello de botella, de forma análoga a la hadoop NameNode.
  • Sistema Distribuido son o CP, ya sea AP. Kafka lograr más flexible, diferentes servicios se pueden hacer en el nivel de polarización CP tema de acuerdo con sus propias características de negocios o configuración AP parcial.

 

 

Sobre la base de la comparación anterior de MQ múltiples multidimensional, integrado sopesar las ventajas y desventajas a considerar, en última instancia, 360 eligieron Kafka

entorno de producción

  • Actualmente hay cien mil millones de volumen de registro del clúster, el volumen de datos a nivel de PB
  • El tamaño del cluster: más de 100 Gigabit máquina,
  • cpu 24 de núcleo, la red de 10 Gb / s, de 128 GB, 4 TB disco magnético * 12 JBOD
  • El pico máximo de 600.000 QPS único tema
  • grupo de picos de alrededor de 5 millones QPS
  • despliegue de la versión 1.1.1-kafka

soluciones

IDC transformar un gran problema en todo el ancho de banda de leer y escribir,

  • IDC llevó a cabo utilizando los datos mirrormaker Sincronizar, IDC sólo los datos de sincronización entre una
    1. En primer lugar, el efecto de blindaje de una excepción a la empresa
    2. Ahorra ancho de banda entre el IDC, a través de un mecanismo de sincronización para asegurar la transmisión de estos datos es sólo una
  • Todos los negocios locales sólo para leer y escribir
  • Acoplable conjunto de recursos de hardware, para proporcionar el servicio SLA

Kafka resolver la facilidad de uso de cliente y la estabilidad

  • Kafka envase secundario basado en la web oficial del cliente, el siguiente paquete principios
    1. Los datos de la empresa fueron enmascarados, exponiendo lo suficientemente sencilla interfaz
    2. manijas marco todos los detalles, para reducir la probabilidad de errores de negocio
    3. Para el productor y el consumidor aumentó en 2 componentes LogProducer y LogConsumer
  • Los casos extremos aún disponibles
    1. Red o garantía excepción de clúster está todavía disponible, si la red o clúster no está disponible, los datos caerá hacia el local, como el tiempo de recuperación desde el disco local para ser restaurada en Kafka.
  • LogProducer proporcionado
    1. Apoyo al menos una vez la semántica
  • LogConsumer proporcionado
    1. Apoyo al menos una vez
    2. exactamente una vez la semántica, la empresa necesita para lograr el desmantelamiento de interfaz

Resolver los datos y la utilización de recursos y problemas de equilibrio

  • anillo Consistente hash con el aumento de nodo virtual, para resolver la fragmentación de datos (partición) los problemas de distribución desiguales
    1. New círculo de hash: un hash MD5 hecha por vnode_str (tales hostname-v0), para dar el nodo virtual vnode_key, y luego para guardar el diccionario nodo ring virtual mapeo de nodo físico, mientras que vnode_key añadió a las sorted_keys lista
    2. Particiones réplica anillo de hash: La (TOPIC_NAME + partition_num + replica_num) como la clave para obtener replica_key mismo hash MD5 describe algoritmo, a continuación, una búsqueda binaria de la posición replica_key en sorted_keys está, finalmente anillo diccionario para asignar a la máquina física Node, hasta ahora réplica asignación completa
  • Una copia de una agregación de un único bastidor resolver problemas con la disponibilidad de copias de bajo equilibrada distribución multi-rack
    1. réplica se dan cuenta de la cremallera en cuenta, la información del nodo físico estará por encima del estante, estante de la información de la réplica en el nodo de distribución física en que se habrá asignado el registro, si hay casos repetidos, se encuentra debajo de la posición vnode_key para encontrar una posición física 1 nodo, se asegurará que la física estante tres réplica debe ser diferente (si réplica = 3)
  • Asignado a la partición de la derecha y el número de copias para resolver nuevos y viejos diferencias de configuración de la máquina pesada en desequilibrio de la carga
    • Adición de nodo físico sólo una pequeña parte de la migración de datos;
    • ¿Los pesos de la máquina físicas establecen diferentes configuraciones que pueden apoyar el despliegue de clusters heterogéneos;

Para habilitar la autenticación, autorización y ACL, para mejorar la seguridad

  • mecanismo de lista blanca, a través de la gestión de órdenes de trabajo proceso de solicitud de temas legales, los consumidores, la filtración ilegal

soporte de monitoreo de alarmas

  • Con gráficos jmx exportador + + promehteus grafana sí muestran, desplegar cada corredor de arriba exportador jmx, Prometeo va a tirar de que los datos, para mostrar por última grafana
  • indicadores de seguimiento transitorios hacen con el administrador de Kafka
  • Monitoreo de retraso del consumidor ver con la madriguera
  • Wonder hacer con la alarma, se trata de un componente de implementación interna 360, Zabbix similares

garantía de SLA

  • El negocio se divide en tres categorías de prioridad, un enfoque de alta prioridad a la seguridad, de baja prioridad tema rebaja
  • De repente, cuando el servicio de carga alta, la degradación del servicio de baja prioridad en situaciones de emergencia. Por ejemplo: petición / copia limitar

material de referencia

Cien mil millones la cantidad de datos práctica profundidad Kafka: https://mp.weixin.qq.com/s/5p1IgayVXvCSLLc0Zvoqew

 

Blog de referencia de dirección: https://www.cnblogs.com/lizherui/p/12656777.html

Supongo que te gusta

Origin www.cnblogs.com/lizherui/p/12656777.html
Recomendado
Clasificación