Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo de facilitaremos un enlace para verlo en diferido
logoImagina
iconoCurso

Curso completo de Apache Kafka

DISPONIBLE EN MODALIDAD:

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?

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

Objetivos

  • 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?

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

  • 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

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
tema 2

Arquitectura de Apache Kafka

  • Apache Kafka como sistema de mensajería
  • ¿Qué es un sistema distribuido?
  • Principios de los sistemas distribuidos
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?
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
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
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
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
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
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
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
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
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
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
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

Curso de Apache Kafka bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient