Il corso Kafka è progettato per fornire una comprensione completa della piattaforma leader per lo streaming di eventi in real time, capace di gestire flussi di dati ad altissimo throughput con latenza minima. In questo corso viene trattata la progettazione di pipeline di dati resistenti e scalabili, l’integrazione di sistemi eterogenei, l’elaborazione stream con Kafka Streams e KSQL, e la messa in produzione di cluster sicuri e monitorati.
Contenuti
- Architettura: broker, topic, partition, replica, ISR
- Confronto con queue e sistemi di messaging tradizionali
- Caso d’uso end-to-end: flusso di dati in real time
- Installazione di Kafka
- File di configurazione principali
- Creazione e tuning di topic, retention e compaction
- Costruzione di Producer: serializzazione, partitioning, callback
- Ottimizzazione del throughput: batch, linger.ms, compression
- Esercitazione: invio di eventi verso più topic
- Costruzione di un Consumer
- Group management, offset commit manuale vs automatico
- Bilanciamento del carico e gestione del rebalancing
- Introduzione a Confluent Schema Registry
- Definizione di schemi Avro, evoluzione e compatibilità
- Hands-on: serializzazione/deserializzazione con Avro e JSON
- Panoramica dei connector sink e source
- Configurazione di un connector (es. JDBC) per DB relazionale
- Sviluppo di un connector custom e gestione configurazioni
- Stream Processing con Kafka Streams e KSQL
- API core di Kafka Streams: PStreams, KTables, join, aggregazioni
- Creazione di pipeline di trasformazione in KSQL
- Operazioni, sicurezza e monitoring
- Autenticazione (SSL/SASL) e autorizzazioni (ACL)
- Backup, disaster recovery e strategie di failover
- Esercitazioni