← Tutti i programmi

Kafka Architetture e Coding

Categoria Software engineering e architettura

Kafka Architetture e Coding v3

Obiettivi del Corso

Approfondire le funzionalità e l'utilizzo di Apache Kafka.

Esplorare le modalità di integrazione con Java e architetture a microservizi.

Comprendere le best practice per il monitoring e l'operatività di sistemi Kafka.

Programma del Corso

Introduzione a Kafka

Concetti fondamentali: Topic, Broker, Partizioni, Replication, Consumer Group, Cluster, Cluster Multipli.

Delivery Semantics.

Resilienza e gestione degli errori.

In Sync Replicas (ISR).

Log Compaction.

Architetture Event Driven

Utilizzo di Kafka per migliorare la robustezza e le prestazioni dell'architettura.

Introduzione a pattern fondamentali

Saga Pattern: coordinamento di transazioni distribuite.

Sistemi di Compensazione: gestione di errori e rollback in scenari complessi.

Fan-Out ed Elaborazioni Parallele: distribuzione di eventi a più consumatori per elaborazioni simultanee.

CQRS/ES (Command Query Responsibility Segregation/Event Sourcing): separazione tra comandi e query con gestione eventi.

Installazione di Kafka

Configurazione e utilizzo tramite CLI.

Installazione e gestione con Docker.

Kafka Producer

Invio di messaggi e utilizzo di serializzatori.

Kafka Consumers

Sottoscrizione ai topic.

Gestione di commit e offset.

Utilizzo di deserializzatori.

Meccanismi interni di Kafka

Elaborazione delle richieste.

Storage e configurazioni per alta affidabilità.

Integrazione Kafka con Java

Integrazione di Kafka in applicazioni basate su Java.

Kafka in Architetture a Microservizi

Utilizzo con Spring Boot, Spring Cloud e Spring Streams.

Esempio pratico di implementazione di un service bus Kafka in un'architettura a microservizi.

Monitoring e Operations di Kafka

Introduzione alla distribuzione Confluent e ai suoi servizi principali.

Confluent Control Center: monitoraggio delle prestazioni e gestione semplificata di cluster Kafka.

Servizi integrati per

Monitoraggio di topic, producer e consumer.

Visualizzazione dei flussi di dati in tempo reale.

Configurazione e gestione semplificata dei cluster.

Aggiornare Kafka con KRaft

Introduzione a KRaft (Kafka Raft) e i cambiamenti rispetto a ZooKeeper.

Vantaggi principali

Semplificazione dell'architettura eliminando la dipendenza da ZooKeeper.

Miglioramenti nella scalabilità e nella gestione dei metadati.

Maggiore resilienza grazie al protocollo Raft.

Procedura per la migrazione a KRaft.

Best practice e novità introdotte nelle ultime versioni di Kafka.