Apache Kafka dla programistów aplikacji klienckich w Javie
by:
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Architektura Kafki
- Wprowadzenie do Apache Kafka
- Główne przypadki użycia
- Model danych
- Architektura klastra
- Zaawansowana architektura Kafki
- KRaft - protokół konsensusu metadanych
- Replication & In-Sync Replicas
- Konfiguracja środowiska lokalnego
- Kafka, Kafka-UI & Schema Registry
- Klient Javy
- Java producer
- Java consumer
- Klient Spring Boot
- Produkcja wiadomości
- Konsumowanie wiadomości
- Testy integracyjne z Testcontainers
- Konfiguracja Testcontainers
- @MockitoSpyBean
- Testowanie kodu asynchronicznego - timeouty
- Kafka Producers
- Message Key i przypisywanie partycji
- Przypisywanie partycji
- Message Key & Sticky Partitioner
- Custom Partitioner
- Wpływ partycjonowania, Hot Partitions
- Przypisywanie partycji
- Producer delivery semantics
- Acks
- Idempotentny Producer
- Serializacja
- Batching
- Kompresja
- Retries
- Message Key i przypisywanie partycji
- Kafka Consumers
- Jak działają konsumenci
- Consumer Group, Consumer i przypisywanie partycji
- Offsets i Commits
- Fetch, Poll i Commit
- Semantyki przetwarzania
- At least once, at most once
- Exactly once - Kafka Transactions
- Exactly once - Consumer idempotency
- Strategie obsługi błędów konsumenta
- Czym jest Poison Pill
- Non-Blocking Retries
- DLQ (DLT) i kiedy go używać
- Kolejki w Apache Kafka (wprowadzone w Kafka 4.0)
- Zaawansowane tematy dotyczące konsumentów
- Consumer Rebalancing & ConsumerRebalanceListener
- Poll timeout
- Jak działają konsumenci
- Schema Management
- Jak Schema Registry działa z klientami Kafki
- Formaty serializacji
- SubjectNameStrategy - kiedy którego używać
- Schema Evolution
- Bezpieczeństwo Kafki
- Szyfrowanie w ruchu (TLS)
- Szyfrowanie w spoczynku i szyfrowanie po stronie klienta
- Uwierzytelnianie (mTLS, SASL)
- Autoryzacja - Access Control Lists
- Użycie Apache Kafka w Integracji Danych
- Kafka Connect
- Single Message Transforms
- CDC & Debezium
- Wzorzec Transactional Outbox
- Czy mogę odpytywać mój temat Kafki?
- Kafka Connect
- Zaawansowane koncepcje Kafki
- Cross-AZ Traffic
- Rack-awareness
- Fetch From Follower
- Distributed tracing z Open Telemetry
- Monitorowanie
- Consumer Lag
- Przegląd monitorowania producenta i konsumenta
- Zaawansowane przechowywanie
- Tiered Storage
- Log Compaction
- Cross-AZ Traffic
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!
Dlaczego kompleksowe szkolenie z Kafki?
Łatwo jest zacząć używać klientów Kafki w swoich aplikacjach - ale bez dogłębnego zrozumienia tej technologii łatwo jest przeoczyć krytyczne aspekty, które mogą spowodować utratę lub uszkodzenie danych.
Możesz również stracić dużo czasu na rozwiązywanie dobrze znanych problemów w nieoptymalny sposób lub przegapić ważne funkcje, które mogą znacznie obniżyć koszty chmury.
Zakres szkolenia
Te warsztaty zapewnią Ci kompleksowy przegląd wszystkiego, co musisz wiedzieć podczas tworzenia aplikacji, które produkują lub konsumują wiadomości do/z Kafki. Dogłębnie omawiają architekturę Kafki, Producer API, Consumer API oraz wprowadzają do Kafka Connect i Debezium.
Nauczysz się o natywnym kliencie Javy, ale potem będziemy pracować w Spring Boot - jako najpopularniejszym frameworku, w którym tworzone są aplikacje Javy. Nauczysz się, jak konfigurować aplikację, rozumieć jej zachowanie, zapoznać się z różnymi semantykami dostarczania i jak skonfigurować obsługę błędów w sposób kompleksowy i wydajny.
Nauczysz się pisać czyste i efektywne testy integracyjne, jak używać i zarządzać schemami, jak działa bezpieczeństwo Kafki i jak można wykorzystać Kafka Connect i Debezium.
Ponieważ skupimy się na budowaniu aplikacji produkcyjnych, omówimy również distributed tracing i istotne aspekty monitorowania - zarówno dla klientów Kafki (metryki producenta i konsumenta), jak i Topików Kafki.
Co nie będzie omawiane:
Zarządzanie i obsługa klastra Kafka
Te warsztaty są dla deweloperów aplikacji klienckich, nie dotyczą obsługi klastra Apache Kafka, co zwykle robi dedykowany zespół.
Kafka Streams
Kafka Streams jest częścią Kafka API od lat, ale jego użycie maleje na rzecz dedykowanych platform do Stream Processingu, takich jak Flink lub RisingWave. Ze względu na złożoność Kafka Streams, często sytuacje w których mogłyby być użyte efektywnie - zamiast tego używany jest standardowy Consumer API.
Wymagane podstawy
Wcześniejsze doświadczenie z Kafką nie jest konieczne - zaczniemy od podstaw, ale ważne jest, aby mieć dobre podstawy inżynierii oprogramowania - klienci Kafki komunikują się asynchronicznie z systemem rozproszonym, więc aby w pełni wykorzystać te warsztaty - najlepiej mieć kilka lat doświadczenia.
Będziesz także musiał wiedzieć, jak pracować z Dockerem i mieć podstawową znajomość Javy i Springa.
Prowadzący szkolenie:
Jan Siekierski
Programista Java i Kotlin z 10-letnim doświadczeniem, z czego 5 lat jako Tech Lead.
Pasjonat Data Streamingu na którym obecnie koncentruje się w całości. Inne obszary w których się specjalizuje to Architektura Event-Driven, Mikroserwisy, DDD oraz Enterprise Data Architecture.
Obecnie niezależny Konsultant, Trener i Twórca, publikujący głównie na platformie LinkedIn.
Środowisko robocze
Nie jest wymagane instalowanie żadnego oprogramowania przez Uczestnika. Dostęp do gotowego środowiska na potrzeby tego szkolenia jest zapewniany każdemu Uczestnikowi przez organizatora.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź pozostałe szkolenia z kategorii:
Big Data
Zobacz
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Big Data
Michał Schielmann
Michał Schielmann
Jestem programistą z 12-sto letnim doświadczeniem, związanym głównie z ekosystemem Javy, ale również Pythonem, bazami danych, zagadnienami DevOps (Docker, Kubernetes, CI/CD pipelines) i frameworkami JavaScriptowymi. Moja ścieżka kariery prowadziła mnie przez różne branże – od telekomunikacyjnej, przez medyczną, bankową, do giełdy energii – dzięki czemu mogłem poznać wiele technologii i ich zastosowań w poszczególnych obszarach. Od kilku lat zaangażowany jestem w prowadzenie szkoleń i warsztatów, bo wierzę, że najlepszym sposobem na naukę jest przekazywanie wiedzy innym.
Dawid Grześków
Dawid Grześków
Specjalista IT z pięcioletnim doświadczeniem w środowisku danowym. W swojej karierze przeszedłem przez budowanie narzędzi wewnętrznych, analitykę oraz tworzenie systemów raportowych. Aktualnie pracuje jako Inżynier Danych, gdzie Spark i Databricks stanowią moje główne narzędzia pracy.
Na co dzień pracuje z technologiami chmurowymi na platformie Azure. Programuje w Pythonie, SQL oraz Sparku. Tworzę modele, hurtownie oraz jeziora danych. Integruję rozwiązania DevOps z procesami biznesowymi. Tworzę zaplecza całych platform i rozwijam procesy integracyjne.
Projekty w których brałem udział to m.in.:
- Integracja przepływów danych wspierających mi.n. SAPa, procesy korporacyjne
- Budowanie jezior danych w celu scentralizowania zasobów przedsiębiorstwa
- Budowanie modeli analitycznych, które dotychczas były niemożliwe do zrealizowania bez Sparka.
- Wdrażanie rozwiązań DevOps/DataOps
Posiadam doświadczenie pracy w międzynarodowych firmach, gdzie wspierałem zespoły w przyswajaniu wiedzy procesowej oraz narzędziowej. Jako praktyk, wychodzę z założenia, że tylko praktyczne szkolenia dają satysfakcjonujące efekty.
Jan Siekierski
Jan Siekierski
Programista Java i Kotlin z 10-letnim doświadczeniem, z czego 5 lat jako Tech Lead.
Pasjonat Data Streamingu na którym obecnie koncentruje się w całości. Inne obszary w których się specjalizuje to Architektura Event-Driven, Mikroserwisy, DDD oraz Enterprise Data Architecture.
Obecnie niezależny Konsultant, Trener i Twórca, publikujący głównie na platformie LinkedIn.
Ostatnie miejsca!