Las 11 preguntas y respuestas principales de la entrevista de Kafka [para estudiantes de primer año]

Publicado: 2021-02-22

En los nueve años desde su lanzamiento en 2011, Kafka se ha consolidado como una de las herramientas más valiosas para el procesamiento de datos en el ámbito tecnológico. Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target y The New York Times son solo algunas de las empresas basadas en Kafka.

Pero, ¿qué es Kafka? La respuesta simple a eso sería: es lo que ayuda a un conductor de Uber a relacionarse con un pasajero potencial o ayudar a LinkedIn a realizar millones de servicios analíticos o predecibles en tiempo real. En resumen, Apache es una plataforma de transmisión de eventos distribuidos tolerante a fallas, de código abierto y altamente escalable creada por LinkedIn en 2011. Utiliza un registro de compromiso al que puede suscribirse, que luego se puede publicar en varias aplicaciones de transmisión.

Su baja latencia, la integración de datos y el alto rendimiento contribuyen a su creciente popularidad, tanto que la experiencia en Kafka se considera una excelente adición al currículum de un candidato y los profesionales con una calificación certificada tienen una gran demanda en la actualidad. Esto también ha resultado en un aumento de las oportunidades laborales centradas en Kafka.

En este artículo, hemos compilado una lista de preguntas y respuestas de la entrevista de Kafka que es más probable que surjan en su próxima sesión de entrevista. Es posible que desee buscarlos para refrescar sus conocimientos antes de ir a su entrevista. ¡Así que, aquí vamos!

Las 11 preguntas y respuestas principales de la entrevista de Kafka

1. ¿Qué es Apache Kafka?

Kafka es una herramienta de procesamiento de datos gratuita y de código abierto creada por Apache Software Foundation. Está escrito en Scala y Java, y es un almacén de datos distribuido en tiempo real diseñado para procesar datos de transmisión. Ofrece un alto rendimiento trabajando en un hardware decente.

Cuando miles de fuentes de datos envían continuamente registros de datos al mismo tiempo, se generan datos de transmisión. Para manejar estos datos de transmisión, una plataforma de transmisión necesitaría procesar estos datos de forma secuencial e incremental mientras maneja la afluencia ininterrumpida de datos.

Kafka toma esta afluencia de datos entrantes y crea canalizaciones de transmisión de datos que procesan y mueven datos de un sistema a otro.

Funciones de Kafka :

  • Es responsable de publicar flujos de registros de datos y suscribirse a ellos.
  • Maneja el almacenamiento efectivo de flujos de datos en el orden en que se generan
  • Se encarga del procesamiento de días en tiempo real

Usos de Kafka :

  • Integración de datos
  • Análisis en tiempo real
  • Almacenamiento en tiempo real
  • Solución de intermediario de mensajes
  • Detección de fraude
  • El comercio de acciones

2. ¿Por qué usamos Kafka?

Apache Kafka funciona como el sistema nervioso central que hace que los datos de transmisión estén disponibles para todas las aplicaciones de transmisión (una aplicación que utiliza datos de transmisión se denomina aplicación de transmisión). Lo hace mediante la creación de canalizaciones de datos en tiempo real que son responsables de procesar y transferir datos entre diferentes sistemas que necesitan usarlos.

Kafka actúa como un sistema de intermediación de mensajes entre dos aplicaciones mediante el procesamiento y la mediación de la comunicación.

Tiene una amplia gama de usos que incluyen mensajería, procesamiento, almacenamiento, transporte, integración y análisis de datos en tiempo real.

3. ¿Cuáles son las características clave de Apache Kafka?

Las características más destacadas de Kafka incluyen las siguientes:

1. Durabilidad : Kafka permite un soporte perfecto para la distribución y replicación de particiones de datos entre servidores que luego se escriben en el disco. Esto reduce la posibilidad de que los servidores fallen, hace que los datos sean persistentes y tolerantes a fallas y aumenta su durabilidad.

2. Escalabilidad : Kafka se puede alterar y reemplazar en muchos servidores, lo que lo hace altamente escalable, más allá de la capacidad de un solo servidor. Las particiones de datos de Kafka no tienen tiempo de inactividad debido a esto.

3. Cero pérdida de datos : con el soporte adecuado y las configuraciones correctas, la pérdida de datos se puede reducir a cero.

4. Velocidad : dado que existe una latencia extremadamente baja debido al desacoplamiento de los flujos de datos, Apache Kafka es muy rápido. Se usa con Apache Spark, Apache Apex, Apache Flink, Apache Storm, etc., todas las cuales son aplicaciones de transmisión externa en tiempo real.

5. Alto rendimiento y replicación : Kafka tiene la capacidad de admitir millones de mensajes que se replican en múltiples servidores para brindar acceso a múltiples suscriptores.

4. ¿Cómo funciona Kafka?

Kafka funciona combinando dos modelos de mensajería, poniéndolos en cola y publicándolos y suscribiéndose a ellos para que pueda ser accesible para muchas instancias de consumidores.

La cola promueve la escalabilidad al permitir que los datos se procesen y distribuyan a múltiples servidores de consumidores. Sin embargo, estas colas no son aptas para ser de suscriptores múltiples. Aquí es donde interviene el enfoque de publicación y suscripción. Sin embargo, dado que cada instancia de mensaje se enviaría a cada suscriptor, este enfoque no se puede utilizar para la distribución de datos entre múltiples procesos.

Por lo tanto, Kafka emplea particiones de datos para combinar los dos enfoques. Utiliza un modelo de registro particionado en el que cada registro, una secuencia de registros de datos, se divide en segmentos más pequeños (particiones) para atender a múltiples suscriptores.

Esto permite que diferentes suscriptores tengan acceso al mismo tema, haciéndolo escalable ya que a cada suscriptor se le proporciona una partición.

El modelo de registro particionado de Kafka también se puede reproducir, lo que permite que diferentes aplicaciones funcionen de forma independiente mientras siguen leyendo flujos de datos.

5. ¿Cuáles son los cuatro componentes principales de Kafka?

Hay cuatro componentes de Kafka. Ellos son:

- Tema

– Productor

– Corredores

– Consumidor

Los temas son flujos de mensajes que son del mismo tipo.

Los productores son capaces de publicar mensajes sobre un tema determinado.

Los intermediarios son servidores en los que se almacenan los flujos de mensajes publicados por los productores.

Los consumidores son suscriptores que se suscriben a temas y acceden a los datos almacenados por los intermediarios.

6. ¿Cuántas API tiene Kafka?

Kafka tiene cinco API principales que son:

Productor API: responsable de publicar mensajes o flujo de registros a un tema determinado.

– Consumer API: conocidos como suscriptores de temas que extraen los mensajes publicados por los productores.

– API de flujos: permite que las aplicaciones procesen flujos; esto implica procesar el flujo de entrada de cualquier tema dado y transformarlo en un flujo de salida. Este flujo de salida puede luego enviarse a diferentes temas de salida.

– Connector API: actúa como un sistema de automatización para permitir la adición de diferentes aplicaciones a sus temas Kafka existentes.

– API de administración: los temas de Kafka son administrados por la API de administración, al igual que los intermediarios y varios otros objetos de Kafka.

7. ¿Cuál es la importancia de la compensación?

El número de identificación único que se asigna a los mensajes almacenados en particiones se conoce como compensación. Un desplazamiento sirve como número de identificación para cada mensaje contenido en una partición.

8. Defina un grupo de consumidores.

Cuando un conjunto de temas suscritos son consumidos conjuntamente por más de un consumidor, se denomina Grupo de consumidores.

9. Explique la importancia del cuidador del zoológico. ¿Se puede usar Kafka sin Zookeeper?

Las compensaciones (números de identificación únicos) para un tema en particular, así como las particiones consumidas por un grupo de consumidores en particular, se almacenan con la ayuda de Zookeeper. Sirve como canal de coordinación entre los usuarios. Es imposible usar Kafka que no tenga Zookeeper. Hace que el servidor Kafka sea inaccesible y las solicitudes de los clientes no se pueden procesar si se omite Zookeeper.

10. ¿Qué significa líder y seguidor en Kafka?

A cada una de las particiones de Kafka se le asigna un servidor que actúa como líder. Cada solicitud de lectura/escritura es procesada por el Líder. El papel de los Seguidores es seguir los pasos del Líder. Si el sistema hace que el Líder falle, uno de los Seguidores dejará de replicar y se reemplazará como Líder para encargarse del equilibrio de carga.

11. ¿Cómo se inicia un servidor Kafka?

Antes de iniciar el servidor Kafka, encienda Zookeeper. Siga los pasos a continuación:

Servidor Zookeeper:

> bin/zookeeper-server-start.sh config/zookeeper.properties

Servidor Kafka:

bin/kafka-server-start.sh config/server.properties

Conclusión

Si está interesado en saber más sobre Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, prácticas talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores empresas.

Consulte nuestros otros cursos de ingeniería de software en upGrad.

Liderar la revolución tecnológica basada en datos

7 ESTUDIOS DE CASOS Y PROYECTOS. ASISTENCIA LABORAL CON LAS PRINCIPALES FIRMAS. MENTOR DE ESTUDIANTE DEDICADO.
Programa de Certificado Avanzado en Big Data de IIIT Bangalore