Architektura EDA
Wzorce projektowe

Wzorce projektowe stosowane w architekturze sterowanej zdarzeniami

Opublikowano: 2026-01-24

Diagram podziału bazy danych na fragmenty
Wzorce projektowe EDA często obejmują odrębne modele zapisu i odczytu danych.

Event sourcing

Event sourcing to podejście, w którym stan systemu nie jest przechowywany bezpośrednio, lecz odtwarzany na podstawie sekwencji zdarzeń, które doprowadziły do jego obecnej postaci. Zamiast nadpisywać rekord w bazie danych, system zapisuje kolejne zdarzenia opisujące zmiany, a aktualny stan wylicza się poprzez ich odtworzenie.

CQRS — rozdzielenie zapisu i odczytu

Command Query Responsibility Segregation zakłada rozdzielenie modelu odpowiedzialnego za zapis danych (obsługę poleceń) od modelu odpowiedzialnego za ich odczyt. W architekturze event-driven wzorzec ten często współistnieje z event sourcing — zdarzenia zapisane w strumieniu aktualizują odrębne, zoptymalizowane pod kątem odczytu widoki danych.

Zalety rozdzielenia modeli

Rozdzielenie zapisu i odczytu pozwala niezależnie skalować obie ścieżki oraz dostosować strukturę danych odczytowych do konkretnych potrzeb prezentacyjnych, bez kompromisów wynikających z jednego uniwersalnego modelu danych.

Wzorzec saga w transakcjach rozproszonych

Gdy pojedynczy proces biznesowy obejmuje kilka niezależnych usług, klasyczna transakcja bazodanowa przestaje być możliwa do zastosowania. Wzorzec saga rozkłada taki proces na sekwencję lokalnych transakcji, z których każda publikuje zdarzenie wyzwalające kolejny krok, a w razie niepowodzenia uruchamiane są kroki kompensacyjne cofające wcześniejsze zmiany.

Kiedy stosować dany wzorzec

Event sourcing sprawdza się tam, gdzie istotna jest pełna historia zmian i możliwość audytu, CQRS — gdy obciążenie odczytowe i zapisowe znacząco się różnią, a saga — wszędzie tam, gdzie proces biznesowy rozciąga się na wiele niezależnie wdrażanych usług.

Powiązane materiały

Podstawy EDA

Czym jest architektura event-driven i jak zmienia przepływ danych

W architekturze sterowanej zdarzeniami komponenty systemu komunikują się poprzez publikowanie i odbi…

Message brokers

Message brokers w architekturze EDA — przegląd podejść

Broker komunikatów pośredniczy w przekazywaniu zdarzeń między producentami a konsumentami, zapewniaj…

Checklisty

Checklisty przed wdrożeniem architektury event-driven

Zestaw punktów kontrolnych przydatnych przed rozpoczęciem projektowania systemu opartego na zdarzeni…