Developer for Apache Kafka
Descrizione
Con il corso di Apache Kafka scoprirai come progettare e realizzare applicazioni di real-time data streaming, scalabili orizzontalmente, robuste, oltre a fornire le conoscenze necessarie per sostenere l’esame “Confluent Certified Developer for Apache Kafka”
Target
Java Developer
Prerequisiti
Richiesta la conoscenza del linguaggio Java
Programma Corso
Module 1: Introduzione all'ecosistema software Kafka
- Il mondo Apache
 - Concetti Base della Messagistica
 - Principali modelli di Messagistica
 - Protocolli
 - Apache Kafka
 - Campi di applicazione
 - Kafka Connect
 - Schema Registry
 - REST Proxy
 - Ksql
 - Zookeeper
 - Introduzione alle Kafka Java Client APIs
- Producer API
 - Consumer API
 - Streams API
 - Connect API
 
 - Installazione Ambiente di sviluppo
- Installazione di Zookepeer
 - Installazione di Kafka
 - Installazione di altri moduli Confluent
 - Configurazione Java
 - IDE di sviluppo Java
 
 
Module 2: Kafka
- Kafka's Command Line Tools
 - Publish/Subscribe Messaging e Streaming
 - Apache Kafka APIs, configuration and metrics
 - Kafka Message & Message metadata
 - Message"key selection" (scelte e fattori)
 - Message schema management
- Osservazioni Generali
 - Avro
 
 - Topics, Partitions e Segments
 - Log Replication & Log Compaction
 - Consumers e Producers
 - Consumer Groups
 - Brokers & Cluster
 - Il Flow completo di Kafka
 - Approfondimenti
- Disk-Based Retention
 - Scalabilità
 - Alte performance
 - Security
 
 - Hardware
- Disk Throughput & Capacity
 - RAM
 - Rete e Schede di Rete
 - CPU
 
 - Zookeeper
- Ruolo di Zookeeper
 - I metadati
 - Cluster Zookeeper
 
 
Module 3: Integrazione e Sviluppo Software su Kafka
- Accedere a Kafka a livello di codice
 - Le APIs Kafka
 - Sviluppare un Producer
- Sviluppo di un Producer
 - Configurazione e ottimizzazione del Producer
 
 - Sviluppare un Consumer
- Sviluppo di un Consumer
 - Configurazione e ottimizzazione del Consumer
 
 - Sviluppo Avanzato
- Dimensioni e durata dei messaggi
 - Abilitazione di Exactly Once Semantics (EOS)
 - Uso degli offset
- Specificare gli Offsets
 - Committare manualmente gli Offsets
 
 - Consumer Liveness & Rebalancing
 
 - Schema Management In Kafka
- Data Serialization
 - Introduzione ad Avro e agli Gli Avro Records
 - Avro Schemas & Schema Evolution
 - Usare lo Schema Registry
 
 - Tuning
 
Module 4: Kafka Avanzato
- Data Pipelines con Kafka Connect
- Kafka Connect
 - Tipi di Connectors
 - Kafka Connect Implementation
 - Standalone & Distributed Modes
 - Configurazione dei Connectors
 
 - Stream Processing con Kafka Streams
- Kafka Streams API
 - Kafka Streams Concepts
 - Creare una Kafka Streams Application
 - Kafka Streams by Example
 - Managing Kafka Streams Processing
 
 - Stream Processing con Confluent KSQL
- KSQL for Apache Kafka
 - Scrivere KSQL Queries
 
 - Avanzate:
- Risoluzione problemi del Client
 - Debugging
 - Performance, throughput, latency, scaling
 - Ordine dei messaggi e garanzie di consegna
 - Serialization/Deserialization
 - Producer partition selection
 - Consumer offset management
 - Consumer Groups, partition assignments, partition rebalances
 - Data retention strategies and implications
 - Topic co-partitioning
 - Data Protection
 
 
Module 5: LAB
- Esercitazione in aula.