Apache Kafka - wprowadzenie do architektury sterowanej zdarzeniami
Czas trwania szkolenia:3 dni (24h)
Kod kursu:KAFKA/BASICS
Poziom zaawansowania:
O szkoleniu Apache Kafka - wprowadzenie do architektury sterowanej zdarzeniami
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Wymagana podstawowa znajomość w zakresie konteneryzacji, języków programowania np. Java oraz systemu kontroli wersji Git
Zalety
- W ramach warsztatu uczestnicy kompleksowo poznają ekosystem Apache Kafka
- Każdy moduł szkolenia Apache Kafka zawiera ćwiczenia wraz ze szczegółowym omówieniem potencjalnych wyzwań przy wdrożeniach produkcyjnych
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Program
Wprowadzenie do systemów rozproszonych
- Problemy architektury scentralizowanej
- Atrybuty jakości systemów rozproszonych
- Koordynacja systemów rozproszoncyh
- Apache Zookeeper jako przykład koordynatora
Rozproszone kolejki danych
- Komunikacja synchroniczna vs asynchroniczna
- REST API vs Event Driven API
- Paradygmaty komunikacji asynchronicznej
- Wprowadzenie do platformy Apache Kafka
Platforma Apache Kafka
- Podstawowe założenia i terminologia
- Architektura oraz możliwości konfiguracji klastra serwerów
- Komunikacja klient-serwer
- Konfiguracja parametrów brokera
- Tolerancja awarii
Producer/Consumer API
- Producer API - semantyka dostarczenia komunikatów
- Idempotentny Producent
- Consumer API - semantyka odbierania komunikatów
- Apache Kafka vs Rabbit MQ
Aplikacje klienckie z wykorzystaniem biblioteki Kafka-Clients
- Konfiguracja producentów i konsumentów
- Kompresja komunikatów
Aplikacje klienckie z wykorzystaniem Spring Framework
- Konfiguracja producentów i konsumentów
- Serializacja i deserializacja komunikatów
- Filtrowanie komunikatów
- Obsługa błędów i ponowień po stronie konsumenta
- Strategia “Dead Letters”
Przetwarzanie strumieniowe z wykorzystaniem biblioteki Kafka Streams
- Batch vs Microbatch vs Stream
- Topologia Kafka Streams
- Przegląd operacji w ramach Kafka Streams DSL
- Semantyka “Exactly Once”
- Skalowanie aplikacji Kafka-Streams
Przetwarzanie stanowe z wykorzystaniem biblioteki Kafka Streams
- Przetwarzanie stanowe
- Przetwarzanie w określonych oknach czasowych
- KStream vs KTable API
Ewolucja schematów z wykorzystaniem Confluent Schema Registry
- Ograniczenia serializacji JSON
- Zmienne schematy danych
- Reprezentacja danych w formacie AVRO
- Ewolucja schematów danych
- Rejestr schematów
Integracja z systemami zewnętrznymi z użyciem Kafka Connect
- Wprowadzenie do platformy
- Własna implementacja interfejsu Connector
- Własna implementacja interfejsu Task
- Wdrożenie i uruchomienie procesu na platformie Kafka Connect