Home

mikroserwisy

Mikroserwisy, zwane także architekturą mikroserwisów, to styl projektowania aplikacji polegający na tworzeniu systemu jako zestawu małych, niezależnie wdrażanych usług. Każdy mikroserwis realizuje określone działanie biznesowe, posiada własną logikę, dane i interfejsy komunikacyjne. Komunikacja między serwisami odbywa się za pomocą lekkich protokołów, najczęściej HTTP/REST lub gRPC, a często także poprzez asynchroniczne mechanizmy wymiany wiadomości. W odróżnieniu od monolitu, mikro-serwisy są projektowane do niezależnego rozwoju i wdrażania.

Główne zalety tego podejścia to autonomia zespołów deweloperskich, możliwość skalowania poszczególnych usług zgodnie z zapotrzebowaniem, lepsza

Wyzwaniem są złożoność systemu rozproszonego, opóźnienia sieci, problemy z przechowywaniem spójności danych i obsługą transakcji rozproszonych.

W praktyce mikroserwisy stosuje się wraz z wzorcami takimi jak granice kontekstów (domain-driven design), API gateway,

izolacja
błędów
i
ryzyka,
a
także
możliwość
stosowania
różnych
technologii
w
zależności
od
potrzeb
każdej
usługi.
Mikroserwisy
ułatwiają
wprowadzanie
nowych
funkcji
i
szybkie
reagowanie
na
zmiany
rynku,
ponieważ
zmiany
w
jednej
usłudze
niekoniecznie
wpływają
na
cały
system.
Wymagana
jest
zaawansowana
obserwowalność,
monitorowanie
i
logowanie,
a
także
testowanie
kontraktów
API
i
wersjonowanie
interfejsów.
Utrzymanie
środowiska
kontenerowego,
orkiestracji
(np.
Kubernetes)
oraz
praktyk
DevOps
może
być
kosztowne
i
wymaga
odpowiedniej
kultury
organizacyjnej.
service
discovery,
komunikacja
synchroniczna
i
asynchroniczna,
brokerzy
wiadomości,
circuit
breakers
oraz
monitorowanie
i
tracing.
Wybór
technologii
i
sposobu
integracji
zależy
od
kontekstu
biznesowego
i
wymagań
niefunkcjonalnych.