Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de Apache Kafka

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, en tiempo real.

Aprende a crear aplicaciones con la herramienta y a trabajar con las diferentes APIs de las que dispone con este curso de Apache Kafka.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en Apache Kafka bonificable para empresas

A quién va dirigido nuestro curso de Apache Kafka

Este curso va dirigido a todos los profesionales que quieran aprender a utilizar esta herramienta.

Objetivos de nuestro curso de Apache Kafka

  • Adquirir los conocimientos necesarios sobre el modelado de datos utilizando Apache Kafka.
  • Aprender a trabajar con diferentes tipos de operaciones de tratamiento de datos.
  • Conocer las herramientas que ofrece Apache Kafka sobre securización de clusters y cómo aplicarlas.

Qué vas a aprender en nuestro curso de Apache Kafka

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, en tiempo real.

Aprende a crear aplicaciones con la herramienta y a trabajar con las diferentes APIs de las que dispone con este curso de Apache Kafka.

Requisitos de nuestro curso de Apache Kafka

  • Disponer de un equipo con las siguientes características:
  • Ordenador con Windows 7 (o superior), macOS 10.11 El Capitán (o superior) o Linux
  • CPU de 6.a generación o más reciente (o AMD equivalente)
  • Memoria RAM mínima de 8 GB
  • GPU con mínimo 2 GB
  • 8 GB de espacio disponible en el disco duro
  • Tener conocimientos de desarrollo en Java.
  • Haber trabajado previamente con el lenguaje de programación Java o bien haber realizado aplicaciones con este lenguaje.
  • Tener instalado IntelliJ
  • Tener instalada la versión 11 del jdk.
  • Tener en tu equipo descargado el proyecto de ejemplo https://github.com/rresino/dev-kafka-examples
  • Tener descargado Apache Kafka https://kafka.apache.org/downloads

Temario del curso de Apache Kafka

tema 1

Introducción a Apache Kafka

  • ¿Qué es Apache Kafka?
  • El origen de Kafka
  • Casos de uso conocidos para ejemplificar la utilidad de Apache Kafka
  • Introducción a las ventajas principales de Kafka
  • Escalabilidad
  • Alto rendimiento
  • Retención basada en disco
iconArrowDown
tema 2

Arquitectura de Apache Kafka

  • Apache Kafka como sistema de mensajería
  • ¿Qué es un sistema distribuido?
  • Principios de los sistemas distribuidos
iconArrowDown
tema 3

Terminología y conceptos esenciales

  • Mensajes
  • Lotes
  • Esquemas
  • Eventos
  • Topics
  • Procesos en segundo plano vs topics
  • Particiones
  • La utilidad de las particiones
  • Productores
  • Productores múltiples
  • Consumidores
  • Consumidores múltiples
  • Brokers
  • Clusters
  • Clusters múltiples
  • ¿Cuales son las APIs de Kafka?
iconArrowDown
tema 4

Instalación y puesta en marcha

  • Introducción a la configuración del entorno
  • Elección del sistema operativo
  • Instalación de Java
  • ¿Qué es Zookeeper?
  • Instalación de Zookeeper
  • Instalación de Kafka Broker
  • Configuración del Broker
  • Introducción a la selección de HW
  • Capacidad de disco
  • Rendimiento de disco
  • Memoria
  • CPU
  • Introducción a Kafka en la nube
  • Configuración de clusters de Kafka
  • ¿Cuántos clusters se necesitan?
  • Configurando brokers
  • Inspección de brokers con la Admin API
  • Configuración de brokers en los clusters
  • Configuraciones del recolector de basura
iconArrowDown
tema 5

Introducción los Productores de Kafka

  • ¿Qué es un productor de mensajes?
  • Instalación y configuraciones previas
  • Conceptos previos necesarios
  • Creando un productor de Kafka
  • Envío de mensajes de forma síncrona
  • Envío de mensajes de forma asíncrona
  • Introducción a la configuración del productor
  • Controlando el "client.id"
  • Configuración del número mínimo de "acknowledgments" recibidos necesarios con "acks"
  • Configuración de tiempos de entrega de mensajes
  • Configuración de la persistencia con "linger.ms"
  • Configuración del tipo de datos producidos con "compression.type"
  • Configuración del tamaño de los lotes con "batch.size"
  • Configuración de re-intentos en caso de error
  • Configuración del tamaño máximo de las peticiones con "max.request.size"
  • Configuración de número de peticiones máximas por conexión
  • Recepción con "receive.buffer.bytes"
  • Envío con "send.buffer.bytes"
  • Introducción a los serializadores
  • "key.serializer" y "value.serializer"
  • Personalización de serializadores
  • Las particiones
  • Los interceptores
  • Las quotas y embotellamientos
  • Creando una aplicación encargada del envío de mensajes con la Producer API
iconArrowDown
tema 6

Introducción a los Consumidores de Kafka

  • ¿Qué es un consumidor de mensajes?
  • ¿Qué es un grupo de consumidores de mensajes?
  • Creando un consumidor Kafka
  • Creación y configuración de topics
  • Suscripción a topics
  • Introducción a la configuración de consumidores Kafka
  • Configuración de consumo mínimo con "fetch.min.bytes"
  • Configuración de consumo máximo con "fetch.max.bytes"
  • Configuración de espera máxima con "fetch.max.wait.ms"
  • Configuración de intervalos con "heartbeat.interval.ms"
  • Configuración de poll con "max.poll.records" y "max.poll.interval.ms"
  • Configuración de timeout de sesión con "session.timeout.ms"
  • Configuración del timeout por defecto con "default.api.timeout.ms"
  • Configuración de timeouts con "request.timeout.ms"
  • Configuración del "client.id" y "client.rack"
  • Configuración del grupo con "group.instance.id"
  • Configuración de estrategia de particionamiento con "partition.assignment.strategy"
  • ¿Qué es un Commit?
  • ¿Qué es un Offset?
  • Configuración de commits automáticos con "enable.auto.commit"
  • Commits síncronos y asíncronos
  • Commit con offset específico
  • Consumo de mensajes con offsets específicos
  • Escalabilidad de las aplicaciones con los grupos
  • ¿Cómo detener el consumo de mensajes?
  • Introducción a los deserializadores
  • Personalización de deserializadores
  • Uso de Avro para deserializar
  • Rebalanceamiento de listeneres
  • ¿Cuándo usar un único consumidor sin grupo?
  • Procesamiento de mensajes con Apache Kafka
  • Creando una aplicación para consumir eventos con la Consumer API
  • Configuración de gestión avanzada de topics
  • Buenas prácticas de uso de la Consumer API
iconArrowDown
tema 7

Clusters en Apache Kafka

  • Creación y configuración de clusters
  • Apagado del cluster
  • Técnicas de balanceo de carga
  • Aumentando la capacidad del cluster
  • Traspaso de información entre clusters
iconArrowDown
tema 8

Uso de Kafka de forma programática

  • Introducción a AdminClient
  • El Ciclo de vida del AdminClient
  • "client.dns.looup"
  • "request.timeout.ms"
  • Manejo de topics
  • Manejo de las configuraciones
  • Manejo de grupos de consumidores para su exploración y modificación
  • Metadatos de clusters
  • ¿Cómo inspeccionamos topics?
  • Adición de particiones a un topic
  • Eliminación de registros de un topic
  • Elección de lider
  • Reasignando réplicas
  • Buenas prácticas y recomendaciones de uso
iconArrowDown
tema 9

Profundizando en Kafka y el almacenamiento

  • Gestión de clusters y membresía
  • El controlador KRaft
  • Replicación
  • Introducción al procesamiento de peticiones
  • Producción de peticiones
  • Consumo de peticiones
  • Otros tipos de peticiones
  • Introducción al almacenamiento físico
  • Ubicando particiones
  • Manejo de ficheros
  • Formato de ficheros
  • Almacenamiento escalonado
  • Compactación a la hora de almacenar
  • Gestión de eventos eliminados
  • Topics compactos
  • Índices
iconArrowDown
tema 10

Entrega confiable de los datos

  • ¿Qué garantías tenemos de la entrega de los datos?
  • ¿Cómo la replicación puede ayudarnos?
  • Introducción a las configuraciones del Broker para ello
  • Persistencia en el disco
  • Factor de replicación
  • Forzado de elección de líder
  • Sincronización de réplicas
  • ¿Cómo usar productores en sistemas confiables?
  • Envío de "acknowlegments"
  • Configuración de re-intentos con "retries"
  • Manejo de errores de envío
  • ¿Cómo usar consumidores en sistemas confiables?
  • Configuraciones esenciales de los consumidores
  • Envío explícito de offsets
  • ¿Cómo podemos asegurar que el sistema es confiable?
  • Validación de la configuración del sistema
  • Monitorización de la fiabilidad en producción
iconArrowDown
tema 11

Creación de aplicaciones

  • ¿Qué es la Stream API?
  • Instalaciones y configuraciones previas
  • Creando nuestra primera aplicación Stream
  • Creación de los archivos de configuración
  • Preparando las funciones de análisis de información
  • Ejecutando la aplicación
  • Analizando la información recibida
  • Buenas prácticas y recomendaciones de uso
iconArrowDown
tema 12

Introducción a la Connect API

  • ¿Qué es la Connect API?
  • Modos de ejecución con la Connect API
  • Configuración de conectores
  • Tipos de transformaciones disponibles
  • Instalación y configuraciones previas
  • Ejemplo práctico con la Connect API
iconArrowDown
tema 13

Seguridad en Apache Kafka

  • Introducción a la gestión de la seguridad
  • Introducción a los mecanismos de autenticación
  • Autenticación con SSl
  • Autenticación con SASL
  • Re-Autenticación
  • Cifrado e2e
  • Introducción a mecanismos de autorización
  • AclAuthorizer
  • Personalización del mecanismo de autorización
  • Seguridad en Zookeeper con SASL
  • Seguridad en Zookeeper con SSL
  • Autorización en Zookeeper
  • ¿Cómo podemos proteger la plataforma?
  • Gestión y protección de contraseñas
iconArrowDown
tema 14

Monitorización de Apache Kafka

  • ¿Qué es la monitorización?
  • ¿Qué son las métricas?
  • Introducción a las métricas recomendadas
  • Health Check
  • Introducción a los objetivos a nivel de servicio (SLO)
  • Definición de SLOs y sistemas de alertas
  • Introducción a los indicadores a nivel de servicio (SLI)
  • Métricas recomendadas para de SLIs
  • Introducción a las métricas para Kafka Brokers
  • Diagnóstico de problemas de clusters
  • Métricas para Brokers
  • Métricas para Topics
  • Métricas para particiones
  • Monitorización de la JVM
  • Monitorización del Sistema Operativo
  • Monitorización a través de Logs
  • Métricas de Productores
  • Métricas de Consumidores
  • Monitorización de lag
  • Monitorización e2e
iconArrowDown

Preguntas Frecuentes de Apache Kafka

¿Cuáles son los Beneficios del curso Apache Kafka?

accordionIcon
El curso de Apache Kafka te permitirá adquirir conocimientos profundos sobre el manejo de esta plataforma de transmisión de datos en tiempo real, mejorar la eficiencia en la gestión de datos distribuidos y optimizar los procesos de integración de datos en tu empresa.

¿El curso de Apache Kafka se puede bonificar a través de FUNDAE?

accordionIcon
Sí, el curso es bonificable a través de FUNDAE, lo que te permite beneficiarte de las ayudas a la formación para empleados gestionadas por la Fundación Estatal para la Formación en el Empleo.

¿En que modalidades se imparte el curso de Apache Kafka?

accordionIcon
El curso de Apache Kafka se imparte en modalidad online y en aula virtual personalizada, adaptándose a tus necesidades de aprendizaje y disponibilidad.

¿Qué habilidades desarrollaré con el curso de Apache Kafka?

accordionIcon
Desarrollarás habilidades en la configuración, implementación y administración de Apache Kafka, así como en la optimización de su rendimiento y la integración con otras tecnologías de big data y sistemas distribuidos.

¿Cómo puedo inscribirme en el curso de Apache Kafka?

accordionIcon
Puedes inscribirte en el curso de Apache Kafka rellenando los formularios que aparecen en la web. Una vez completado el formulario, nuestro equipo se pondrá en contacto contigo para finalizar el proceso de inscripción.