Nozioni di base su Kafka - corso 42.000 rubli. da IBS Training Center, formazione 24 ore, Data: 4 dicembre 2023.
Miscellanea / / November 29, 2023
Argomenti trattati:
1. Ripasso (teoria – 1 ora)
Cos'è Kafka.
Esempi di utilizzo riuscito e infruttuoso di Kafka.
Kafka e il database: somiglianze e differenze.
Kafka e la coda di messaggi: somiglianze e differenze.
Architettura di storage Kafka: broker, argomenti, partizioni, segmenti, repliche.
Architettura del cluster Kafka: Zookeeper, partizionamento, nodi di replica master e slave, ISR.
Client e API.
2. Creazione di un cluster (pratica – 1 ora)
Pratica 2.1: esecuzione di un cluster Kafka utilizzando Docker.
Installazione di Zookeeper.
Installazione dei broker Kafka.
3. Sviluppo di applicazioni in Java (teoria – 2,5 ore, pratica – 2,5 ore)
API Kafka Producer: nozioni di base.
Esercizio 3.1: Inviare un messaggio.
Esercizio 3.2: Invio di messaggi multipli.
Esercizio 3.3: Invio di messaggi multipli con partizionamento esplicito.
Esercizio 3.4: Invio di messaggi senza chiavi.
Kafka Consumer API: nozioni di base, gruppi di consumatori.
Pratica 3.5: Un destinatario.
Pratica 3.6: Destinatari multipli in un gruppo.
Funzionalità aggiuntive: Pacchetti, Ripetizioni, Idempotenza, Transazioni, Ribilanciamento gruppi di consumatori.
Pratica 3.7: Mittente senza pacchetti e ripetizioni.
Pratica 3.8: Mittente idempotente.
Pratica 3.9: Mittente transazionale.
Esercizio 3.10: Invio e ricezione in una transazione.
Pratica 3.11: Ricezione-elaborazione-invio in una transazione.
4. Accesso esterno al cluster Kafka (teoria – 2 ore, pratica – 2 ore)
Sicurezza: SSL, SASL, Kerberos.
Proxy REST: invio e ricezione di messaggi nei formati JSON, binario e Avro.
Pratica 4.1: Accesso tramite proxy REST.
Registro degli schemi: registro degli schemi.
Esercizio 4.2: Utilizzo del proxy REST con il registro degli schemi.
5. Manutenzione e monitoraggio (teoria – 1 ora, pratica – 1 ora)
Creazione di un cluster per scopi diversi.
Zookeeper: configurazione, modalità standalone e quorum, CLI.
Pratica 5.1: Monitoraggio di un cluster Kafka con Prometheus.
6. Diversi cluster (teoria – 1 ora, pratica – 1 ora)
Perché potresti aver bisogno di più cluster in Kafka?
MirrorMakerAccess.
Esercizio 6.1: Utilizzo di MirrorMaker per sincronizzare i cluster.
Replicatore di confluenza.
7. Kafka Connect (teoria – 2 ore, pratica – 2 ore)
Architettura Kafka Connect.
Dissipatori di dati Kafka Connect.
Esercizio 7.1: Ricevitore di file FileStream.
Esercizio 7.2: Ricevitore JDBC.
Origini dati Kafka Connect.
Esercizio 7.3: Sorgente FileStream.
Pratica 7.4: Sorgente JDBC.
8. Fondamenti di Kafka Streams (teoria – 2 ore, pratica – 2 ore)
Kafka Streams: DSL, API, StreamBuilder, creazione e implementazione della topologia.
Demo 8.1: implementazione della topologia Streams.
Demo 8.2: creazione di un'applicazione Streams utilizzando StreamBuilder.
Dispositivo Kafka Streams: multi-threading, istanze e attività multiple.
Schemi di dati in Kafka: serializzazione in schemi JSON, schemi Avro, registro degli schemi, evoluzione degli schemi.
Demo 8.3: Utilizzo degli schemi JSON.
Elaborazione con stato: archivio di stato, tolleranza agli errori per archivi di stato.
KTable: flussi di aggiornamento dei dati, memorizzazione nella cache, velocità di recupero, aggregazione.
Finestre nei flussi: timestamp, mobile, saltante, sessione.
Connessione: flusso a flusso, da KTable a KTable, flusso a KTable.