Saga W Architekturze Zdarzeniowej

0

Jak wygląda implementacja tego wzorca oraz co można za jego pomocą osiągnąć?

0

Implementacji może być wiele. Osobiscie znam implementacje w JS to redux-saga a w C# framework MassTransit posiada takową. Saga pomaga w obsłudze długotrwałych procesów, odbiera i publikuje zdarzenia w danym procesie. Typowy przykład to skladanie zamówienia. W taki proces moze wchodzić kilka eventow. Np. Rezerwacja -> Płatność -> Potwierdzenie -> Dostarczenie -> Ocena zamowienia. Taki proces moze trwać sporo. Do tego saga moze reagować na zdarzenia niepowodzenia np gdy płatność sie nie powiedzie wycofać rezerwację produktu. Caly stan procesu jest zapisywany w jakiejś bazie danych.

0

Czyli to jest taki jakby UnitOfWork dla zdarzeń, który utrzymuje stan całego procesu i w zależności od wyniku zapisuje eventy do bazy ?

Może ktoś podesłać jakąś implementację w c# albo Java.

1

Tutaj masz przykład z opisem od Udiego (c# + nservicebus):

http://udidahan.com/2009/04/20/saga-persistence-and-event-driven-architectures/

a tutaj masa projektów bez opisu (c# + nservicebus):

https://github.com/Particular/docs.particular.net/tree/master/samples/saga

w dokumentacji nservicebus też jest sporo o implementacji:
https://docs.particular.net/nservicebus/sagas/

0

Super, dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1