Compartir tecnología

Archivo EIK de Kafka

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Introducción a Kafka

1.definición de kafka

Kafka es una cola de mensajes distribuida (MQ, Message Queue) basada en el modelo de publicación/suscripción. Se utiliza principalmente para computación en tiempo real y recopilación de registros en el campo de big data.

2. Introducción a Kafka

Kafka fue desarrollado originalmente por Linkedin. Es un sistema de middleware de mensajes distribuidos que admite particiones y múltiples réplicas y está coordinado por Zookeeper. Su característica más importante es que puede procesar grandes cantidades de datos en tiempo real para satisfacer diversos escenarios de demanda. como sistema de procesamiento por lotes basado en hadoop, sistema en tiempo real de baja latencia, motor de transmisión Spark/Flink, registro de acceso nginx, servicio de mensajes, etc., escrito en lenguaje scala,
Linkedin contribuyó a la Fundación Apache en 2010 y se convirtió en uno de los principales proyectos de código abierto.

3. Por qué necesita Message Queue Server (MQ)

La razón principal es que en un entorno de alta concurrencia, las solicitudes de sincronización no se procesan a tiempo y las solicitudes a menudo se bloquean. Por ejemplo, una gran cantidad de solicitudes acceden simultáneamente a la base de datos, lo que provoca bloqueos de filas y tablas. Finalmente, se acumularán demasiados subprocesos de solicitudes, lo que provocará demasiados errores de conexión y provocará un efecto de avalancha.
Usamos colas de mensajes para manejar solicitudes de forma asincrónica para aliviar la presión sobre el sistema. Las colas de mensajes se utilizan a menudo en procesamiento asincrónico, reducción de picos de tráfico, desacoplamiento de aplicaciones, comunicación de mensajes y otros escenarios.

Actualmente, los middlewares MQ más comunes incluyen ActiveMQ, RabbitMQ, RocketMQ, Kafka, etc.

4. Beneficios de utilizar colas de mensajes

(1) Desacoplamiento
Le permite ampliar o modificar los procesos en ambos lados de forma independiente, siempre que cumplan con las mismas restricciones de interfaz.

(2) Restaurabilidad
Cuando un componente del sistema falla, no afecta a todo el sistema. La cola de mensajes reduce el acoplamiento entre procesos, por lo que incluso si un proceso que procesa mensajes cuelga, los mensajes agregados a la cola aún se pueden procesar después de que el sistema se recupere.

(3) Almacenamiento en búfer
Ayuda a controlar y optimizar la velocidad del flujo de datos a través del sistema y a resolver el problema de las velocidades de procesamiento inconsistentes de los mensajes de producción y los mensajes de los consumidores.

(4) Flexibilidad