Szkolenie z Architektury mikroserwisów w Spring Cloud
Poziom
ZaawansowanyCzas
24h / 3 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie Architektura mikroserwisów w Spring Cloud
Zaawansowane szkolenie poświęcone projektowaniu i implementacji systemów mikroserwisowych z użyciem Spring Boot i Spring Cloud. Uczestnicy zbudują warsztatowy system obejmujący rejestr i odkrywanie usług, scentralizowaną konfigurację, komunikację synchroniczną i asynchroniczną, odporność na błędy, bramkę API, obserwowalność oraz konteneryzację. Zakres uwzględnia aktualne komponenty ekosystemu, w tym RestClient, HTTP Service Clients, Resilience4j, Micrometer Tracing i OpenTelemetry.
Dla programistów Java, którzy samodzielnie tworzą REST API w Spring Boot oraz korzystają z Maven lub Gradle
Dla osób znających Java 17+, mechanizm wstrzykiwania zależności, konfigurację aplikacji, protokół HTTP i podstawy testowania usług
Dla architektów, liderów technicznych i doświadczonych programistów odpowiedzialnych za decyzje dotyczące podziału systemu i komunikacji między usługami
Dla zespołów rozwijających systemy rozproszone lub oceniających zasadność migracji z architektury monolitycznej do mikroserwisowej
Czego nauczysz się na szkoleniu?
- Zaprojektujesz podział przykładowego systemu na usługi i uzasadnisz wybór architektury mikroserwisowej albo monolitycznej na podstawie kosztów, ryzyk i wymagań
- Uruchomisz usługi Spring Boot oraz skonfigurujesz rejestr usług, odkrywanie instancji i scentralizowane zarządzanie konfiguracją
- Zaimplementujesz komunikację synchroniczną z użyciem współczesnych klientów HTTP, równoważenia obciążenia oraz mechanizmów timeout, retry i circuit breaker
- Zbudujesz asynchroniczny przepływ komunikatów w funkcyjnym modelu Spring Cloud Stream
- Skonfigurujesz bramkę API oraz podstawową obserwowalność systemu z użyciem Spring Boot Actuator, Micrometer Tracing i OpenTelemetry
- Utworzysz obrazy OCI usług, uruchomisz system w Docker Compose i ocenisz zakres integracji aplikacji z natywnymi mechanizmami Kubernetes
Program szkolenia
Dzień 1
Moduł 1: Mikroserwisy
- Porównanie architektury mikroserwisowej i monolitycznej: korzyści, koszty i granice zastosowania
- Założenia architektury cloud native: niezależność usług, skalowalność i odporność
Moduł 2: Spring Cloud
- Spring Boot jako podstawa usług
- Spring Boot Actuator i punkty diagnostyczne
- Spring Cloud Commons i wspólne abstrakcje
Moduł 3: Service Registry i Service Discovery
- Service Registry – Eureka i katalog usług
- Identyfikacja instancji i metadane rejestracyjne
- Service Discovery – adresacja i wybór instancji
Moduł 4: Spring Cloud Config
- Spring Cloud Config Client
- Spring Cloud Config Server
- Konfiguracja aplikacji, profili i środowisk
- RefreshScope i cykl aktualizacji konfiguracji
- Spring Cloud Bus i automatyczna propagacja zmian
- Repozytorium Git jako źródło konfiguracji
Dzień 2
Moduł 5: Komunikacja pomiędzy serwisami
- RestClient, WebClient i HTTP Service Clients
- Spring Cloud LoadBalancer – rozkład ruchu między instancje
- OpenFeign i migracja do HTTP Service Clients
- Deklaratywne interfejsy klientów HTTP
- Timeouty, retry i klasyfikacja błędów
Moduł 6: Spring Cloud Circuit Breaker
- Błędy komunikacji i awarie częściowe
- Resilience4j i Spring Cloud Circuit Breaker
- Polityki timeout, retry, circuit breaker i fallback
Moduł 7: Gateway API
- Spring Cloud Gateway jako bramka API
- Routing, filtry i limity ruchu
Dzień 3
Moduł 8: Spring Cloud Stream
- Komunikacja asynchroniczna i semantyka dostarczenia
- Supplier, Function i Consumer
- Funkcyjny model programowania i kontrakty komunikatów
Moduł 9: Obserwowalność rozproszona
- Korelacja żądań i kontekst rozproszony
- Trace, Span i propagacja kontekstu
- Eksport danych telemetrycznych do Zipkin
- Micrometer Tracing i OpenTelemetry
Moduł 10: Konteneryzacja
- Docker i obraz OCI aplikacji
- Docker Compose i lokalne środowisko wielousługowe
- Spring Cloud Kubernetes i natywne mechanizmy Kubernetesa
Korzyści z frameworku Spring
-
nie musimy przejmować się problemami związanymi z konfiguracją poszczególnych elementów naszej infrastruktury – Spring jest w stanie zrobić to za nas, dzięki czemu możemy skupić się na tworzeniu kodu biznesowegornrn
-
jesteśmy w stanie szybko dostarczyć MVP projekturnrn
-
dzięki spójnemu modelowi programowania, użycie w aplikacji technologii, której jeszcze nie znamy wydaje się bardzo naturalne i prosternrn