Reaktywne mikrousługi jako element architektury EDA
Opublikowano: 2026-02-07
Cztery zasady manifestu reaktywnego
Manifest systemów reaktywnych opisuje cztery właściwości, do których dążą tego typu architektury: responsywność (system odpowiada w rozsądnym czasie), odporność (system pozostaje responsywny mimo awarii), elastyczność (system pozostaje responsywny przy zmiennym obciążeniu) oraz komunikację opartą na komunikatach jako fundamencie pozostałych trzech właściwości.
Przetwarzanie nieblokujące
Mikrousługa reaktywna nie blokuje wątku wykonania w oczekiwaniu na zewnętrzną odpowiedź — zamiast tego rejestruje reakcję na zdarzenie, które nadejdzie w przyszłości, zwalniając zasoby obliczeniowe do obsługi innych żądań w międzyczasie.
Modele programowania nieblokującego
W praktyce podejście to realizowane jest poprzez programowanie sterowane zdarzeniami na poziomie kodu (callbacki, strumienie reaktywne) lub przez modele aktorów, w których każda jednostka przetwarzania obsługuje komunikaty sekwencyjnie, ale niezależnie od innych jednostek.
Odporność na częściowe awarie
System złożony z wielu mikrousług musi zakładać, że pojedyncza usługa może być chwilowo niedostępna. Komunikacja poprzez broker komunikatów naturalnie izoluje tę awarię — zdarzenia oczekują w kolejce do czasu przywrócenia działania usługi konsumującej, zamiast powodować błąd całego łańcucha wywołań.
Skalowanie sterowane komunikatami
Liczba aktywnych instancji mikrousługi reaktywnej może być dostosowywana na podstawie długości kolejki oczekujących zdarzeń — rosnąca kolejka jest sygnałem do uruchomienia dodatkowych instancji, a malejąca pozwala na ich wygaszenie.