Spring for Apache Kafka - wprowadzenie i zagadnienia zaawansowane

Tytuł: Spring for Apache Kafka - wprowadzenie i zagadnienia zaawansowane
Kod: ds-spring
Kategoria: Kafka
Forma: 50% teoria 50% warsztat
Czas trwania: 3 dni
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Koncepcja szkolenia została oparta o zestaw praktycznych problemów jakie stają przed developerem – prezentujemy sprawdzone i najlepsze ich rozwiązania w Spring for Apache Kafka. Szkolenie swoim zakresem wykracza daleko poza powszechnie dostępne materiały dydaktyczne. Szkolenie oprócz prezentacji technologii Apache Kafka oraz Spring zostało wzbogacone o aspekty: doboru architektury aplikacji, konfiguracji narzędzi developerskich, praktyk projektowych odpowiednich do produktywnej pracy z Apache Kafka i Spring.

Wiedza zdobyta podczas szkolenia pozwoli na pełne wykorzystanie frameworka, zwiększenie rozszerzalności systemów oraz racjonalizację procesu testowania - zwiększając jakość z jednoczesną redukcją kosztów utrzymania testów.

Program szkolenia stanowi bazę do której możemy dodawać wybrane zagadnienia.

Wyróżniki szkolenia

  • Dobór architektury aplikacji
  • Wzorce i pułapki
  • Nacisk na transakcyjność, wysoką wydajność i spójność
  • Elementy systemów rozproszonych

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.

  1. Architektura Apache Kafka
    1. Wprowadzenie do komunikacji asynchronicznej
      1. Komunikacja w monolicie vs mikrousługi
      2. Przykłady zastosowań komunikacji asynchronicznej
      3. Systemy oparte o zdarzenia
    2. Architektura Apache Kafka
      1. Wprowadzenie do podstawowych pojęć
        1. Topics, Partitions, Offsets
        2. Brokers
        3. Topics Replication
        4. Producers
        5. Consumers, Consumers Groups
        6. Offsets
        7. Acks
      2. Kolejność wiadomości
      3. Replikacja
      4. Jak dobrać odpowiednią ilość partycji?
      5. Poziomy potwierdzenia dostarczenia wiadomości
    3. Kafka CLI
      1. Zarządzanie Topic’ami
      2. Wysyłanie wiadomości
      3. Odbieranie wiadomości
      4. Monitorowanie i zarządzanie Consumer Groups
      5. Zarządzanie Offset’ami
    4. Natywny klient Java
      1. Kafka Producer
      2. Kafka Consumer
      3. Transakcje
        1. Jak działają transakcje?
        2. Do czego wykorzystać transakcje na Apache Kafka?
        3. Implementacja aplikacji biznesowej przetwarzającej wiadomości w sposób transakcyjny
  2. Spring for Apache Kafka
    1. Architektura frameworku
      1. MessageListener
      2. ContainerProperties
      3. KafkaMessageListenerContainer
      4. KafkaConsumerFactory
    2. Podstawowe operacje
      1. Połączenie do klastra Apache Kafka
      2. Konfiguracja Topic
      3. Wysyłka wiadomości
        1. KafkaTemplate vs. KafkaProducer
        2. RoutingKafkaTemplate
        3. ReplyingKafkaTemplate
      4. Odbiór wiadomości
        1. Konsumowanie wiadomości bez wykorzystania adnotacji
        2. Konsumowanie wiadomości za pomocą adnotacji
        3. Wątki
        4. Walidacja wiadomości
        5. Zarządzanie potwierdzeniami
        6. Wysyłka odpowiedzi
        7. Wstrzymywanie konsumowania wiadomości
      5. Ponowienia i obsługa błędów
        1. Blokujące ponowienia
        2. Nie blokujące ponowienia
        3. Wzorzec Dead letter queue
      6. Transakcje
        1. Publikowanie transakcyjne
        2. Transakcje inicjowane przez odczyt wiadomości
        3. Zarządzanie transaction.id przez Spring
        4. Łączenie transakcji bazodanowej z transakcją Kafka
    3. Prawidłowa konfiguracja aplikacji
      1. Rodzaje i obsługa zdarzeń kontenera Spring
      2. Sterowanie początkowym offsetem
      3. Obsługa wyjątków
      4. Serializacja i deserializacja
      5. Nagłówki wiadomości
      6. Metryki i monitorowanie
    4. Testowanie
      1. Przegląd bibliotek do testowania asynchronicznego
        1. JUnit - Awaitility
        2. Spock - PollingConditions
      2. Wykorzystanie mechanizmów Spring w testach
      3. Uruchamianie Kafka do testów z wykorzystaniem spring-kafka-test
      4. Uruchamianie Kafka do testów z wykorzystaniem TestContainers
    5. Implementacja aplikacji biznesowej z wykorzystaniem Spring Boot, Apache Kafka i relacyjnej bazy danych
      1. Modelowanie procesów biznesowych w podejściu asynchronicznym
      2. Implementacja mechanizmów zapewniających idempotentność
      3. Wpływ asynchroniczności na modelowanie REST API
      4. Różne poziomy spójności
      5. Implementacja wzorców Inbox i Outbox


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.