Mikroserwisy (microservices)
Architektura, w której system składa się z małych, osobno wdrażanych serwisów; każdy ma własne dane i rozmawia z innymi przez sieć.
Zespoły mogą wydawać swój serwis niezależnie i skalować go osobno. W zamian każde wywołanie może paść albo zwolnić, dane są rozrzucone po bazach, a proces biznesowy, który był jedną transakcją, staje się sagą. Potrzebujesz śledzenia wywołań, ponowień, wersjonowanych kontraktów i dyżuru dla każdego kawałka. Zwrot przychodzi, gdy równolegle pracuje kilka zespołów, rzadko wcześniej.
Powiązane hasła
- Modularny monolit (modular monolith): Jedna wdrażana aplikacja podzielona w środku na moduły z wyraźnymi granicami; każdy ma własne dane, a z innych korzysta tylko przez ustalone interfejsy.
- Baza danych na serwis (database per service): Każdy serwis jest właścicielem swoich danych i żaden inny nie czyta jego tabel bezpośrednio; pozostałe korzystają z jego API albo zdarzeń.
- Wzorzec saga: Proces biznesowy w kilku serwisach prowadzony jako łańcuch lokalnych transakcji, z akcją kompensującą, która cofa krok, gdy padnie któryś z kolejnych.
- Prawo Conwaya: Systemy przyjmują kształt struktury komunikacji organizacji, która je buduje.
