Event Sourcing – fakty i mity
News

Event Sourcing – fakty i mity

26.08.2022
Event Sourcing jest alternatywnym sposobem tworzenia systemów opartych na przetwarzaniu zdarzeń. Nie da się zaprzeczyć, że jest to rozwiązanie, które niesie za sobą wiele korzyści, takich jak łatwe skalowanie aplikacji przez podział na Command i Query oraz procesy asynchroniczne, dostęp do pełnej historii zmian czy możliwość odtworzenia stanu aplikacji dla wskazanej daty. Wraz ze wzrostem popularności Event Sourcingu pojawiło się także wiele wątpliwości. W tym artykule rozprawiamy się z mitami i potwierdzamy fakty.
  1. Event Sourcing jest skomplikowany

Event Sourcing wymaga zmiany myślenia i perspektywy, a także położenia nacisku na zrozumienie procesów biznesowych i rządzących nimi zdarzeń. Nie jest jednak trudny, tylko inny.

  1. Event Sourcing nie jest praktyczny

Modelowanie procesów biznesowych jako zdarzenia pozwala na maksymalne uproszczenie komunikacji projektowej. Event Sourcing opisuje je w przyjazny, bliższy rzeczywistemu światu sposób.

Jesteś ciekawy jak to wygląda w praktyce? Spójrz na poniższy przebieg zdarzeń:

DodanoElementDoKoszyka, ZaakceptowanoZamównienie, WystawionoFakturęProforma, DokonanoOpłaty, WystawionoFakturę, WysłanoZamówienie.

Prościej już chyba się nie da!

  1. Przy Event Sourcingu konieczne jest zastosowanie CQRS, Domain Driven Design oraz innych nietypowych wzorców

Faktem jest, że są to rozwiązania, które świetnie ze sobą współgrają, bo wszystkie koncentrują się na poznaniu procesów biznesowych i starają się jak najwierniej odtworzyć je w oprogramowaniu, jednak ich wspólne wykorzystanie nie jest obowiązkowe.

  1. Konieczne jest posiadanie dwóch baz danych, z czego jedną z nich musi być Mongo

Event Sourcing nie wskazuje konkretnego sposobu przechowywania danych. Można skorzystać z dwóch baz danych, jednak nie jest to konieczne. Analogicznie jest w przypadku Mongo.

  1. Event Sourcing potrzebuje Eventual Consistency oraz szyny zdarzeń typu RabbitMQ lub Kafka – MIT

Zdarzenia można przechowywać w bazie relacyjnej, dlatego wbrew powszechnemu przekonaniu, Eventual Consistency nie jest niezbędne. Jeśli nie planujesz przekazywania zdarzeń do innych serwisów czy modułów, nie musisz korzystać z szyn zdarzeń, takich jak Kafka czy RabbitMQ.

  1. Możesz napotkać na problemy z wydajnością

Wydajność Event Sourcingu zależy od posiadanego pod sobą storage. Jednak dzięki odpowiedniej optymalizacji może działać szybciej od tradycyjnych rozwiązań, poprzez uniknięcie „losowych aktualizacji rekodów”. Event Sourcing zakłada, że zdarzenia są niezmienialne (immutable). Oznacza to, że nie można zmieniać przeszłości, a jedynie inaczej ją interpretować.

  1. Jest to oprogramowanie trudne w utrzymaniu

Poziom skomplikowania problemów migracji i spójności danych w systemach rozproszonych jest porównywalny do rozwiązań relacyjnych i klasycznych, natomiast zwykle ujawniają się one szybciej.

 

Zainteresował Cię temat Event Sourcingu? Więcej na temat przeczytasz tutaj: https://www.euvic.com/pl/event-sourcing-bez-tajemnic/

News Konkurs "Łap wakacje marzeń z T-Mobile"

Chcesz wygrać voucher o wartości 15 000 zł? Weź udział w konkursie "Łap wakacje marzeń z T-Mobile". czytaj więcej

News Co to jest event sourcing?

Event sourcing to metoda opracowywania systemów opartych na przetwarzaniu zdarzeń. Rozwiązanie to można wykorzystywać w wielu przypadkach, bo zapewnia liczne korzyści w branży IT. Przyjrzyjmy się bliżej temu zagadnieniu. czytaj więcej

Wiadomości firmowe Huawei otwiera Centrum Przejrzystości i Bezpieczeństwa Cybernetycznego w Brukseli

Huawei otworzył dziś w Brukseli swoje Centrum Przejrzystości i Bezpieczeństwa Cybernetycznego. W wydarzeniu uczestniczyło ponad 200 przedstawicieli urzędów regulacyjnych, operatorów telekomunikacyjnych, przedsiębiorstw oraz mediów. Podczas ceremonii otwarcia głos zabrali przedstawiciele Unii Europejskiej, GSMA i Światowego Forum Ekonomicznego. czytaj więcej

TomTom TomTom wprowadza narzędzie, które dostarcza informacje o ruchu drogowym

TomTom (TOM2) ogłosił dziś wprowadzenie nowego narzędzia, które ma na celu dostarczanie miastom, zarządcom dróg oraz innym osobom zainteresowanym tematem mobilności, dodatkowych danych trafficowych. Road Event Reporter umożliwia wybranym klientom i partnerom dzielenie się informacjami z milionami użytkowników ruchu drogowego nt. wypadków, remontów drogowych oraz zagrożeń na trasie. Dane są przekazywane w czasie rzeczywistym, bezpośrednio do systemów nawigacyjnych w samochodach, urządzeń nawigacyjnych oraz aplikacji mobilnych. czytaj więcej