Corso Apache Kafka
Corso Apache Kafka:
Apache Kafka è definita una piattaforma di streaming di eventi distribuita open-source. Kafka è un sistema di messaggistica istantanea con la gestione in tempo reale di migliaia di operazioni sia in scrittura che in lettura. Viene impiegato per la progettazioni di applicazioni per lo streaming in tempo reale. Rientra quindi nell’ambito Big Data.
Kafka consente di ricevere dati da diverse tipologie di fonti (detti producer) elaborandoli nella sua architettura per renderli disponibili ai riceventi (detti consumer). Tramite la libreria Kafka Streams è possibile creare applicazioni per il filtraggio e arricchimento dati.
Le sue principali caratteristiche sono:
- Elevata produttività (recapita messaggi ad un network di rete utilizzando un cluster di macchine con latenza fino a 2 millisecondi)
- Scalabilità (ridimensione i cluster di produzione consentendo di inviare trilioni di messaggi al giorno e petabyte di dati)
- Archiviazione performante (i flussi di dati sono archiviati in cluster distribuiti in modo sicuro)
- Alta disponibilità (estensione dei cluster in modo efficiente o connessione di cluster presenti in diverse aree geografiche)
Infatti Kafka oltre alla gestione dei flussi dei dati e allo Stream Processing, consente lo Storage distribuito e l’ ETL (Extract,Trasform,Load).
Il suo ecosistema consente di:
- Costruire uno stream processing (elaborazione flussi di eventi con join, aggregazioni, filtri e trasformazioni utilizzando l'”event-time-processing” e l’ “exatly-one-processing”
- Connettere qualsiasi cosa (con l’interfaccia di Kafka “out-of-the-box Connect si integra con centinaia di risorse come Postgres, JMS, AWS S3, Elasticsearch ecc.)
- Utilizzare le librerie (è possibile leggere, scrivere ed elaborare i flussi di eventi in una vasta gamma di linguaggi di programmazione)
- Utilizzare Tool opensource (sfruttare una vasta gamma di tool open source guidati dalla community)
Diremo che Apache Kafka consente di superare il modello di elaborazioni di dati di Bach, eseguita in background, con un processing di arricchimento dei dati in real time.
Kafka può essere usato nello sviluppo di Microservizi per lo scambio di messaggi asincroni. Velocizzando le comunicazioni tra applicazioni e riducendo il rischio di perdita di dati
Obiettivi del Corso Apache Kafka:
formare lo studente con conoscenze basi sul le architetture di streaming scalabili e di messaggistica in real time con casi d uso comparato a soluzioni di messaggistica tradizionali
Requisiti per i discenti Corso Apache Kafka:
corso rivolto a programmatori con conoscenze base in Java e ambiente Linux
Corso Apache Kafka attivabile solo per le aziende e su richiesta.
Modalità virtual classroom online in diretta (o frontale in-house).
Programma Corso Apache Kafka (32 ore)
1. Introduzione
• Ecosistema Apache Kafka
• Architettura e concetti chiave
2. Kafka API
• Producer API
• Consumer API
3. Configurazione
• Producer
• Broker
• Consumer
• Replica
4. Zookeeper
• Ruolo di Zookeeper in un cluster Kafka
5. Semantica dei messaggi
• Messaggi e Formato
• Apache AVRO
• Log
• Distribuzione su partizioni
6. Kafka Operations
• Gestione topics
• Balancing leadership
• Checking consumer position
• Mirroring
• Cluster Management
• Replication factor
• Datacenters
• Production Server Configs
• Monitoring