Programowanie reaktywne w Javie i Reactive Spring

Opis

Programowanie reaktywne w ciągu ostatnich kilku lat szturmem weszło do kanonu narzędzi programistycznych. Tworzenie aplikacji wielowątkowych, wykorzystujących wiele rdzeni procesora stała się koniecznością współczesnych systemów. Niniejsze szkolenie wprowadza programistę porządkując kluczowe pojęcia związane z programowaniem reaktywnym oraz przedstawia szczegółowo dwie kluczowe biblioteki: RxJava oraz Project Reactor (w zależności od potrzeb można się skupić na jednej z nich).

Szczegółowy program

Moduł 1.
Czym jest programowanie reaktywne?
  • Wsparcie programowania reaktywnego w JVM
  • Programowanie funkcyjne a reaktywność
  • Różne biblioteki i podejścia do programowania reaktywnego
  • Pojęcie backpressure
  • Strumienie reaktywne
  • Strumienie cold i hot
Moduł 2.
RxJava
  • Observables
  • Observers
  • Subjects
  • Scheduler
  • Operatory reaktywne
Moduł 3.
Reactive Streams
  • Publisher
  • Subscriber
  • SubmissionPublisher
  • Subscription
  • Processor
Moduł 4.
Projekt Reactor
  • Model push-pull
  • Mono
  • Flux
  • Tworzenie Flux i Mono
  • Operatory filtrujące
  • Operatory konwerujące
  • Procesory Direct, Unicast, Emitter, Replay, Topic, WorkQueue
  • Operatory groupBy, buffer, window, sample
  • OnBackpressure
  • Nieskończone strumienie danych
  • Schedulers: immediate, single, parallel, elastic
Moduł 5.
Reaktywny dostęp do danych
  • Reactive Spring Data
  • ReactiveCrudRepository
  • Spring Data Reactive Redis
  • Spring Data Reactive MongoDB
  • Kafka jako źródło danych
Moduł 6.
Webflux i Spring Reactive
  • Reaktywne kontolery SpringMVC
  • Funkcyjne endpointy reaktywne
  • Reaktywny klient WebClient
  • Server-Sent Events
  • Reaktywny Spring Integration
  • Reaktywny Spring Cloud Stream
  • Reaktywny Gateway
Moduł 7.
Odporność na błędy z użyciem Hystrix i Sentinel
  • Wzorzec Circuit Breaker
  • Wzorzec Bulkhead
  • Wzorzec Retry
  • Zarządzanie obciążeniem z użyciem kolejki
  • Wzorce Fail-fast, Fail-silent, Static fallback, Stubbed fallback, Dual-mode fallback
  • Izolacja błędów
  • API Hystrix i Sentinel
Moduł 8.
Testowanie kodu reaktywnego
  • Testowanie nadawcy
  • Testowanie odbiorcy
  • Testowanie notyfikacji
  • Wirtualizacja czasu
  • Testowanie wywołań sieciowych (web)

Parametry szkolenia

Czas trwania
2 x 8h
Forma zajęć
Ćwiczenia - 90%, wykład - 10%
Kod
RJRS
Wielkość grupy
do 12 osób

Jak zamówić

« lista szkoleń