| Tytuł: | Kafka Streams, wprowadzenie i zagadnienia zaawansowane |
| Kod: | kafka-streams |
| Kategoria: | Kafka |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | architekci, developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Szkolenie "Budowanie Aplikacji z Wykorzystaniem Kafka Streams" to intensywny kurs, który prowadzi uczestników przez wszystkie kluczowe aspekty związane z wykorzystaniem biblioteki Kafka Streams do tworzenia zaawansowanych aplikacji przetwarzających strumienie danych.
W trakcie tego szkolenia uczestnicy zdobędą głęboką wiedzę na temat tej biblioteki oraz nauczą się jak efektywnie wykorzystywać ją w praktyce.
Dla kogo jest to szkolenie:
Szkolenie jest przeznaczone dla programistów, inżynierów danych, architektów systemów oraz wszystkich, którzy chcą zgłębić wiedzę na temat Apache Kafka i Kafka Streams i nauczyć się tworzyć zaawansowane aplikacje przetwarzające strumienie danych. Szkolenie jest naturalną kontynuacją i rozszerzeniem wiedzy zdobytej podczas szkolenia Apache Kafka - niezbędnik programisty.
Główne tematy szkolenia:
- Wprowadzenie do Kafka Streams: Kurs rozpocznie się od omówienia czym jest Kafka Streams i jakie korzyści niesie ze sobą ta biblioteka. Uczestnicy dowiedzą się, jak Kafka Streams integruje się z Kafka oraz jakie są jej główne cechy i możliwości.
- Podstawy API Kafka Streams: Uczestnicy otrzymają wprowadzenie do specyfikacji API Kafka Streams. Będą mieli okazję nauczyć się, jak tworzyć strumienie danych, przeprowadzać przekształcenia na danych oraz jak łączyć różne strumienie.
- Konfiguracja i skalowanie: Kolejny etap szkolenia skupi się na parametrach konfiguracyjnych, które pozwalają dostosować działanie aplikacji do potrzeb. Uczestnicy dowiedzą się także, jak skalować aplikacje Kafka Streams w zależności od obciążenia.
- Wewnętrzne mechanizmy Kafka Streams: Szkolenie pójdzie dalej i zagłębi się w wewnętrzne mechanizmy działania Kafka Streams, takie jak zarządzanie stanem, przetwarzanie okienkowe, mechanizmy replikacji i odzyskiwania danych.
- Praktyczne zastosowania: Uczestnicy poznają liczne praktyczne zastosowania Kafka Streams, takie jak przetwarzanie strumieni danych w czasie rzeczywistym, analiza danych, monitorowanie i wiele innych.
- Dodatkowe tematy: Szkolenie będzie elastyczne, pozwalając na uwzględnienie indywidualnych potrzeb uczestników. Jeśli istnieją konkretne zagadnienia związane z Apache Kafka, które interesują uczestników, instruktorzy dostosują program szkolenia.
Korzyści:
Po ukończeniu tego szkolenia uczestnicy będą w stanie:
- Budować aplikacje przetwarzające strumienie danych w oparciu o Kafka Streams.
- Skutecznie konfigurować i skalować aplikacje Kafka Streams.
- Wykorzystywać wewnętrzne mechanizmy Kafka Streams do zaawansowanego przetwarzania danych.
- Rozumieć praktyczne zastosowania Kafka Streams w różnych scenariuszach biznesowych.
To szkolenie stanowi solidną podstawę dla każdego, kto chce stać się ekspertem w dziedzinie przetwarzania strumieni danych przy użyciu Apache Kafka i Kafka Streams.
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Koncepcja zastosowania biblioteki Kafka Streams -
Kluczowe koncepcje architektoniczne zastosowane w Kafka Streams- Topologia przetwarzania
- Source vs Sink
- Source vs Sink
- Interpretacja czasu
- Dualizm strumień-tablica
- Topiki kompaktowe
- Agregacja danych
- Okna czasowe
- Błędy wynikające z niepoprawnej kolejności przetwarzania
- Topologia przetwarzania
-
Wewnętrzne mechanizmy Kafka Streams- Jak ilość partycji wpływa na ilość zadań zdefiniowanych w topologii
- Wielowątkowość w Kafka Streams
- Lokalna baza danych RocksDB
- Changelog topic
- Repartition topic
- Odporność na błędy
- Reset tool
- Analiza topologii strumieni
- Jak ilość partycji wpływa na ilość zadań zdefiniowanych w topologii
-
Tworzenie podstawowej aplikacji opartej o Kafka Streams -
Parametry konfiguracyjne -
Kafka Streams DSL- Tworzenie strumienia
- Operacje bezstanowe
- Operacje stanowe
- Agregacje danych
- Łączenie danych
- Zmiany klucza wiadomości przed łączeniem danych
- KStream-KStream join
- KTable-KTable join
- KTable-KTable Foreign-Key join
- KStream-KTable join
- KStream-GlobalKTable join
- Zmiany klucza wiadomości przed łączeniem danych
- Windowing
- Hopping time windows
- Tumbling time windows
- Sliding time windows
- Session Windows
- Przekazywanie wyników operacji
- Hopping time windows
- Agregacje danych
- Processor API
- Nazywanie operacji w topologii przetwarzania
- Monitorowanie częstotliwość aktualizacji stanu
- Przetwarzanie w oparciu o offset lub timestamp
- Przekazywanie wyników operacji
- Tworzenie strumienia
-
Typy danych, serializacji i deserializacja -
Testowanie aplikacji Kafka Streams- Biblioteka kafka-streams-test-utils
- Testowanie integracyjne
- Biblioteka kafka-streams-test-utils
-
Odczyt danych w aplikacji Kafka Streams- Odczyt lokalnych danych
- Odczyt danych z zewnętrznych instancji
- Konfiguracja Standby Replicas
- Odczyt lokalnych danych
-
Transformers- Przetwarzanie zgodnie z podejściem Stateful Record-By-Record
- Przetwarzanie zgodnie z podejściem Stateful Record-By-Record
-
Exactly once processing -
Testowanie aplikacji opartych o Kafka Streams- Testy jednostkowe z wykorzystaniem kafka-streams-test-utils
- Testy integracyjne z wykorzystaniem Testcontainers
- Testy jednostkowe z wykorzystaniem kafka-streams-test-utils
-
Implementacja popularnych wzorców aplikacji biznesowych- Saga
- Read-Process-Write
- Sortowanie i deduplikacja zdarzeń
- Saga
-
Wsparcie do Kafka Streams w Spring Boot- Konfiguracja i uruchomienie aplikacji
- Sposoby skalowania
- Konfiguracja i uruchomienie aplikacji
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.