Apache Kafka è un gestore distribuito di code di messaggi, progettato per realizzare applicazioni data streaming real-time, scalabili orizzontalmente, robuste ed incredibilmente veloci. element
A chi è rivolto questo corso
I destinatari principali di questo corso sono professionisti IT, tecnici applicativi, architetti, sviluppatori, amministratori e capi progetto che vogliono acquisire know how sulla realizzazione di sistemi streaming che già hanno utilizzato Apache Kafka o ne hanno una conoscenza base.
Modalità d'insegnamento
Lezione interattiva in presenza, che alterna momenti di presentazione frontale (teoria) e sessioni di sviluppo individuale (pratica).
Programma del corso
Modulo 1: Kafka Connect
- Data integration: casi di studio, patterns e criticità
- Kafka Connect: introduzione, concetti ed API di base
- Caso di studio: JDBC Source Connector, teoria e pratica
- Caso di studio: ElasticSearch Sink Connector, teoria e pratica
- Kafka Connect, concetti avanzati: internals, stand-alone vs. distributed, Single Message Transforms (SMT), Schema Registry integration, etc.
- Connect API e connettori custom: cenni ed approfondimenti
- Hands-on: esercizi e sviluppo (Java)
Modulo 2: Kafka Streams e KSQL
- Introduzione: batch vs. stream processing, stream-table duality, etc.
- Kafka Streams: introduzione, concetti ed API di base (maps, joins, windows, etc.)
- Stateful stream processing: RocksDB, KTable, interactive queries, etc.
- Kafka Streams, concetti avanzati: fault-tolerancy, scalability, Schema Registry integration, etc.
- KSQL: introduzione, concetti e sintassi
- Hands-on: esercizi e sviluppo (Java)
Stream Processing si riferisce all’elaborazione in tempo reale di “dati in movimento”: tramite questo insieme di tecnologie si realizzano pipeline di calcolo che eseguono computazione sui dati mentre essi vengono trasmessi e distribuiti ai sistemi che da questi dipendono. Tali dati vengono rappresentati come flussi continui provenienti da fonti eterogenee come ad esempio sensori elettronici, sensori virtuali, attività dell’utente su siti web, attività su social networks, movimentazioni finanziarie. I framework di elaborazione streaming sono in grado di processare grandi volumi di dati in ingresso ed estrarre informazioni preziose quasi istantaneamente.