Otwarte zapisy na: Apache Kafka dla programistów i programistek Java

Formuła on-line z wykorzystaniem komunikatorów video.

Kod: Arch-Tools-kafka
Kategoria: Narzędzia
Forma: warsztaty
Czas trwania: 3 dni
Prowadzący: Paweł Szymczyk
Grupa docelowa: developerzy
architekci
Koszt:
2000 PLN + 23% VAT
Lokalizacja: online
Data: 07.02.2022 - 09.02.2022
Zapisy do: 01.02.2022

W trakcie tego praktycznego warsztatu zapoznamy się z narzędziami i bibliotekami, które pozwolą programistom Java w efektywny sposób implementować oraz testować systemy wykorzystujące klaster Kafka. Przedstawione zostaną innowacyjne sposoby implementacji, w których Kafka to nie tylko brokera wymiany wiadomości, to też narzędzie do trwałego zapisywania i odczytywania danych, ich agregacji oraz strumieniowania.

Omówimy sposoby integracji danych z klastra z popularnymi bazami danych oraz sposoby łączenia ze sobą strumieni danych.

W części warsztatowej położymy nacisk na testowanie automatyczne wytworzonego kodu, zgodność z wzorcami projektowymi oraz dobrymi praktykami wytwarzania oprogramowania.

Szkolenie to niezbędnik programistyczny dla każdego dewelopera Java rozpoczynającego swoją przygodę z implementacją aplikacji posługujących się Kafka. Jest to zbiór najbardziej efektywnych praktyk zebranych na bazie doświadczenia ponad sześciu lat pracy z systemami wykorzystującymi Apache Kafka.

Szkolenie skierowane jest dla programistów i architektów aplikacji backend. Do uczestnictwa w szkoleniu nie jest wymagana jakakolwiek znajomość Apache Kafka. W celu efektywnego wykorzystania szkolenia zalecane jest posiadanie umiejętność programowania w Java na poziomie podstawowym oraz ogólna znajomość zagadnień architektury systemów informatycznych takich jak skalowalność, transakcyjność, partycjonowanie.

Wyróżniki szkolenia

  • Sprawdzone wzorce architektoniczne
  • Dobór mechanizmu do klasy problemu
  • Testowanie

Program Szkolenia

  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
      6. Co zapewnia Apache Kafka
      7. Skąd bierze się wydajność?
    3. Architektura Confluent Platform
      1. Kafka Streams
      2. Kafka Connect
      3. KSQL
      4. Rest Proxy
      5. Schema Registry
    4. Kafka CLI i Kafkacat
      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
    5. Natywny klient Java
      1. Kafka Producer
        1. Implementacja niestandardowego partycjonowania
        2. Serializacja wiadomości
        3. Idempotentność
      2. Kafka Consumer
        1. Delivery semantics
        2. Deserializacja wiadomości
        3. Partition assignment strategies
        4. Static membership
        5. Implementacja cache w pamięci opartego o Kafka Consumer
      3. Transakcje
        1. Jak działają transakcje?
        2. Jak dobrać parametr transaction.id?
        3. Do czego wykorzystać transakcje na Apache Kafka?
        4. Implementacja aplikacji biznesowej przetwarzającej wiadomości w sposób transakcyjny
      4. Jak skonfigurować system do bezstratnego dostarczania wiadomości?
  2. Kafka Streams
    1. Koncepcja zastosowania w ekosystemie Confluent
    2. Architektura aplikacji opartych o Kafka Streams
      1. Dualizm strumień-tablica
      2. Topiki kompaktowe
      3. Lokalna baza danych RocksDB
      4. Changelog topic
      5. Repartition topic
    3. Analiza topologii strumieni
    4. Reset tool
    5. Operacje bezstanowe
    6. Operacje stanowe
      1. Zapis stanu w KTable
      2. Zapis stanu w GlobalKTable
      3. Agregowanie danych
      4. Łączenie strumieni
      5. Agregacja danych w oknach czasowych
    7. Odczytywanie lokalnego stanu systemu
      1. Interactive queries
      2. ReadOnlyKeyValueStore
      3. ReadOnlyWindowStore
      4. Standby replicas
    8. Transformers
      1. Przetwarzanie zgodnie z podejściem Stateful Record-by-record
    9. Exactly once processing
    10. Testowanie aplikacji opartych o Kafka Streams
      1. Testy jednostkowe z wykorzystaniem kafka-streams-test-utils
      2. Testy integracyjne z wykorzystaniem Testcontainers
    11. Implementacja wzorców
      1. Saga
      2. Read-Process-Write
      3. Sortowanie i deduplikacja zdarzeń


Pobierz program w formacie PDF

Trenerzy

Poznaj eksperta, który będzie poprowadzić Twoje szkolenie.

Zapisz się na 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.

Regulamin świadczenia usług drogą elektroniczną, który znajduje się TUTAJ.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.