Szkolenie: Architektura Mikroserwisów na platformie Java
Szkolenie Architektura Mikroserwisów na platformie Java to praktyczny kurs dla programistów i architektów, który uczy projektowania, wdrażania i utrzymania nowoczesnych mikroserwisów z użyciem Quarkus, DDD, CQRS, event-driven architecture oraz najlepszych praktyk Java
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:4 dni (32h)
Kod kursu:MICROSERVICES
Architektura Mikroserwisów na platformie Java
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania, implementowania i testowania architektury mikroserwisowej w środowisku Java
Szkolenie uczy stosowania kluczowych wzorców architektonicznych, takich jak CQRS, DDD, Event Sourcing, Saga Pattern oraz Loosely-Coupled Architecture
Szkolenie pokazuje, jak dobierać narzędzia i technologie do budowy mikroserwisów, w tym Quarkus, Kafka, gRPC i Debezium
Szkolenie omawia kompromisy i wyzwania związane z migracją z monolitu do mikroserwisów oraz utrzymaniem systemów rozproszonych
Szkolenie rozwija umiejętność identyfikowania i unikania typowych błędów projektowych w systemach rozproszonych
Dla kogo?
Doświadczonych programistów Java oraz architektów systemów IT odpowiedzialnych za projektowanie i rozwój systemów mikroserwisowych
Zespołów IT planujących migrację z architektury monolitycznej do mikroserwisowej w środowisku Java
Specjalistów zainteresowanych nowoczesnymi wzorcami projektowymi oraz praktykami wdrażania systemów rozproszonych
Efekty kształcenia
Uczestnik projektuje i wdraża mikroserwisy z wykorzystaniem nowoczesnych wzorców architektonicznych
Uczestnik analizuje i rozwiązuje problemy komunikacji oraz transakcyjności w systemach rozproszonych
Uczestnik modeluje domeny biznesowe zgodnie z zasadami Domain Driven Design i Bounded Context
Uczestnik planuje i implementuje mechanizmy rezyliencji, monitoringu oraz observability mikroserwisów
Uczestnik ocenia kompromisy wdrożeniowe i podejmuje decyzje dotyczące migracji z monolitu do mikroserwisów
Uczestnik testuje architekturę mikroserwisową z użyciem narzędzi do automatyzacji i kontraktów API
Wymagania
Podstawowa znajomość języka Java i przynajmniej jednego frameworka (np. Spring, Quarkus)
Zrozumienie ogólnych wzorców architektonicznych i zasad projektowania systemów IT
Doświadczenie w projektach programistycznych i znajomość zasad projektowania oprogramowania
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie
Szybki przegląd architektur infrastrukturalnych (monolit, modularny monolit, SOA, EDA, systemy aktorowe)
Korzyści i koszt wykorzystania mikroserwisów
Fallacies of Distributed Computing
Modelowanie mikroserwisów
Domeny biznesowe a mikroserwisy
Domain Driven Design i Bounded Context
Loosely-Coupled Architecture
Loose Coupling & High Cohesion
Abstrakcyjność i niestabilność
Kompatybilność Backward a Forward
Shared libraries
Dbanie o jakość architektury mikroserwisowej
ArchUnit jako sposób testowania architektury
JMolecules i DDD
Komunikacja międzyserwisowa
Omówienie problemu rzetelności komunikacji
Wzorce 1-1, 1-N, M-N
Komunikacja synchroniczna, a asynchroniczna
Komunikacja zdarzeniowa
Porównanie: Message Broker, Event Broker, Brokerless
Wyzwania komunikacji opartej na zdarzeniach
Wzorce transakcyjności obsługi wiadomości
Formaty wiadomości
Protocol Buffers
HTTP a REST
Client Driven API
Wzorce paginacji i projekcji danych
gRPC
Komunikacja, a niezawodność
HTTP Cache
Debezium jako narzędzie Change Data Capture
Load Balancing z wykorzysatniem Kafki
API
Zakres widoczności API
Abstrakcyjne typy interfejsów i operacji
Sposoby wersjonowania API
Wzorce rezyliencji: Circuit Breaker, Fallback, Timeout, Retry
Service Discovery na przykładzie Consula
API Gateway
Backend For Frontend
Wzorzec API Composition
Command Query Responsibility Segregation
Kiedy stosować CQRS
Command
Query
Różne sposoby implementacji
Bazy danych
Sharding
SQL i schemat relacyjny
Anomalie we współbieżnej modyfikacji danych
Poziomy izolacji
Wzorce transakcyjności
NoSQL
ACID vs CAP
Modele danych w bazach danych
Problem N+1 w komunikacji międzyserwisowej
OLAP w mikroserwisach
Edge functions
Uwierzytelnienie
Autoryzacja
Cache - buforowanie replikowane
Throttling - Rate Limits, Bulkhead
Metryki
Logowanie
Transakcje
Transakcje lokalne vs rozproszone
Omówienie algorytmu 2PC
Eventual consistency
Saga
Podtypy transakcji w Sagach
Choreografia, a orkiestracja
Wzorce izolacji Sag
Event Sourcing
Testowanie
Piramida testów w wersji dla mikroserwisów
Consumer-Driven Contract na przykładzie Pact
Production Ready (Opcjonalnie)
Bezpieczeństwo komunikacji międzyserwisowej
Observability
Health Check API z wykorzystaniem Consul
Log aggregation z wykorzystaniem stosu ELK
Distributed tracing z wykorzystaniem Open Telemetry i Jaeger,
Metryki aplikacyjne
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi


