Grunnleggende om Kafka - kurs 42 000 gni. fra IBS Training Center, trening 24 timer, Dato: 4. desember 2023.
Miscellanea / / November 29, 2023
Emner som dekkes:
1. Gjennomgang (teori – 1 time)
Hva er Kafka.
Eksempler på vellykket og mislykket bruk av Kafka.
Kafka og databasen: likheter og forskjeller.
Kafka og meldingskø: likheter og forskjeller.
Kafka lagringsarkitektur: meglere, emner, partisjoner, segmenter, kopier.
Kafka-klyngearkitektur: Zookeeper, partisjonering, master- og slavereplikeringsnoder, ISR.
Klienter og APIer.
2. Sette opp en klynge (øving – 1 time)
Øvelse 2.1: Kjøre en Kafka-klynge ved hjelp av Docker.
Installerer Zookeeper.
Installerer Kafka-meglere.
3. Applikasjonsutvikling i Java (teori – 2,5 timer, praksis – 2,5 timer)
Kafka Producer API: Grunnleggende.
Øvelse 3.1: Sende én melding.
Øvelse 3.2: Sende flere meldinger.
Øvelse 3.3: Sende flere meldinger med eksplisitt partisjonering.
Øvelse 3.4: Sende meldinger uten nøkler.
Kafka Consumer API: grunnleggende, forbrukergrupper.
Øvelse 3.5: Én mottaker.
Øvelse 3.6: Flere mottakere i en gruppe.
Tilleggsfunksjoner: Pakker, repetisjoner, Idempotens, Transaksjoner, Rebalansering av forbrukergrupper.
Øvelse 3.7: Avsender uten pakker og repetisjoner.
Øvelse 3.8: Idempotent avsender.
Praksis 3.9: Transaksjonsavsender.
Øvelse 3.10: Sende og motta i en transaksjon.
Praksis 3.11: Motta-behandling-sending i en transaksjon.
4. Ekstern tilgang til Kafka-klyngen (teori – 2 timer, praksis – 2 timer)
Sikkerhet: SSL, SASL, Kerberos.
REST Proxy: sende og motta meldinger i JSON-, binær- og Avro-formater.
Øvelse 4.1: Tilgang via REST Proxy.
Skjemaregister: skjemaregister.
Øvelse 4.2: Bruk av REST Proxy med Schema Registry.
5. Vedlikehold og overvåking (teori – 1 time, praksis – 1 time)
Sette opp en klynge for forskjellige formål.
Zookeeper: konfigurasjon, frittstående og quorum-modus, CLI.
Øvelse 5.1: Overvåking av en Kafka-klynge med Prometheus.
6. Flere klynger (teori – 1 time, praksis – 1 time)
Hvorfor trenger du kanskje flere klynger i Kafka?
MirrorMakerAccess.
Øvelse 6.1: Bruke MirrorMaker til å synkronisere klynger.
Confluence Replicator.
7. Kafka Connect (teori – 2 timer, praksis – 2 timer)
Kafka Connect-arkitektur.
Kafka Connect data synker.
Øvelse 7.1: FileStream-filmottaker.
Øvelse 7.2: JDBC-mottaker.
Kafka Connect-datakilder.
Øvelse 7.3: FileStream-kilde.
Øvelse 7.4: JDBC-kilde.
8. Fundamentals of Kafka Streams (teori – 2 timer, praksis – 2 timer)
Kafka Streams: DSL, API, StreamBuilder, opprettelse og implementering av topologi.
Demo 8.1: Implementering av Streams-topologien.
Demo 8.2: Bygg en Streams-applikasjon ved hjelp av StreamBuilder.
Kafka Streams-enhet: multi-threading, flere forekomster og oppgaver.
Dataskjemaer i Kafka: serialisering til JSON-skjemaer, Avro-skjemaer, skjemaregister, skjemaevolusjon.
Demo 8.3: Bruke JSON-skjemaer.
Stateful Processing: State Store, Fault Tolerance for State Stores.
KTable: Dataoppdateringsstrømmer, caching, gjenfinningshastighet, aggregering.
Vinduer i strømmer: tidsstempler, flytende, hopping, økt.
Tilkobling: strøm til strøm, KTable til KTable, strøm til KTable.