Szkolenie ma na celu zapoznanie uczestników z mechanizmami Change Data Capture (CDC) przy użyciu Debezium oraz integracją z Apache Kafka. Uczestnicy nauczą się, jak w czasie rzeczywistym przechwytywać zmiany w bazach danych i przesyłać je do systemów downstream, co umożliwia budowę nowoczesnych, event-driven architektur.
Podczas zajęć omówione zostaną:
- Architektura Debezium i typowe scenariusze użycia CDC.
- Uruchomienie środowiska (Kafka, Zookeeper, konektory Debezium).
- Obsługa operacji CRUD, filtrowanie zdarzeń i serializacja.
- Integracja z aplikacjami oraz wykorzystanie API Debezium.
- Najlepsze praktyki i rozwiązywanie problemów.
Szkolenie ma charakter praktyczny – uczestnicy wykonają ćwiczenia w środowisku z wykorzystaniem Dockera, Apache Kafka i przykładowych baz danych (np. PostgreSQL, MySQL).
Wymagania wstępne
- Znajomość podstaw baz danych (transakcje, logi binarne, replikacja)
- Podstawowa wiedza o Apache Kafka
- Doświadczenie w pracy z systemami Linux/Docker
- Umiejętność czytania kodu (Java lub inny język backendowy)
Konspekt
Wprowadzenie:
- Przegląd funkcji i architektury Debezium;
- Przypadki użycia Change Data Capture (CDC)
- Replikacja danych;
- Aktualizacja / unieważnianie pamięci podręcznej;
- Aktualizacja indeksów wyszukiwania;
- Synchronizacja danych w mikrousługach
Konfiguracja i instalacja:
- Konfiguracja środowiska programistycznego;
- Konwencjonalne podejście do instalacji;
- Korzystanie z Docker i obrazów kontenerów Debezium.
Pierwsze kroki:
- Wybór bazy danych;
- Uruchamianie Zookeepera;
- Uruchamianie usługi Kafka;
- Uruchamianie usługi łącznika;
- Rejestrowanie konektora;
- Konfigurowanie serializacji, routingu, filtrowania wiadomości, sygnałów itp.
Praca z Database:
- Jak działa przechwytywanie danych;
- Zrozumienie strumieni zdarzeń;
- Praca z topologiami baz danych (autonomiczne, klastry itp.)
Debezium w akcji:
- Wstawianie, aktualizowanie i usuwanie rekordów;
- Czyszczenie pamięci podręcznej;
- Aktualizowanie indeksów wyszukiwania;
- Generowanie pochodnych widoków i danych;
- Synchronizowanie źródeł danych.
Inne implementacje:
- Debezium Server;
- Wbudowane Debezium
Praca z interfejsem API Debezium:
- Zrozumienie silnika Debezium;
- Praca z modułem debezium-api;
- Obsługa zależności;
- Praca z komunikatami.
Rozwiązywanie problemów.
Podsumowanie i wnioski.