Tomasz Stolarczyk, programista i konsultant specjalizujący się w ratowaniu systemów legacy i współtwórca Rails Event Store. Rozmowa o czym jest Event-Driven Architecture i jak odróżnić prawdziwe EDA od prostego wysyłania eventów. Porusza Outbox, chude vs grube eventy, choreografię kontra proces managera, obserwowalność oraz jak wprowadzać eventy do starego kodu.
00:00
forum Ask episode
web_stories AI Snips
view_agenda Chapters
auto_awesome Transcript
info_circle Episode notes
insights INSIGHT
Event-Driven To Decoupling, Nie Tylko Eventy
Event-Driven Architecture to głównie prawdziwy decoupling i asynchroniczność w systemie.
Tracimy stack trace i musimy zaplanować monitoring oraz obserwowalność systemu.
volunteer_activism ADVICE
Wprowadź Monitoring Z Correlation ID
Zapewnij monitoring z correlation i causation ID zanim wejdziesz w EDA.
Użyj narzędzi takich jak DataDog lub New Relic oraz loguj metadane eventów.
insights INSIGHT
Chude Wewnątrz, Grube Na Granicy
Dziel eventy na domenowe (chude) i integracyjne (grube).
Wysyłaj więcej danych na granicy systemu, ale trzymaj chude eventy wewnątrz bounded contextu.
Get the Snipd Podcast app to discover more snips from this episode
Masz dosyć systemów, które sypią się jak domek z kart, gdy tylko jeden serwis złapie zadyszkę? Czas przestać trzymać usługi „za rękę” przez HTTP i pozwolić im żyć własnym życiem. Event-Driven Architecture (EDA) to przejście z trybu rozkazującego na reagowanie na fakty, więc zamiast mówić każdemu, co ma robić, po prostu ogłaszasz, co się stało.
W tym odcinku o EDA mówił Tomasz Stolarczyk, programista i konsultant z Arkency, specjalizujący się w ratowaniu systemów legacy. Po latach pracy z Javą, obecnie rozwija złożone systemy w Ruby. Jest współtwórcą i aktywnym developerem Rails Event Store: otwartoźródłowego narzędzia do obsługi zdarzeń i Event Sourcingu, na którym bazuje wiele jego wdrożeń. Tomasz opowiada, jak nie zgubić się w świecie bez stacktrace’ów i dlaczego programiści mogą czerpać garściami z EDA, nawet jeśli nie chcą (lub nie potrzebują) wdrażać pełnego Event Sourcingu.
Z tego odcinka dowiesz się:
Czym charakteryzuje się Event-Driven Architecture i jak wytłumaczyć to nowej osobie w zespole;
Czym różni się prawdziwe EDA od zwykłego „strzelania eventami” po akcji użytkownika;
Co zapewnia wzorzec Outbox;
Chude czy grube eventy i co wysłać w świat, żeby nie „zabić” bazy subskrybenta;
Kiedy postawić na swobodną choreografię usług, a kiedy wprowadzić Process Managera;
Jak działa komunikacja asynchroniczna w EDA;
Jakie wyzwania niesie debugowanie systemu bez stacktrace’ów;
Dlaczego Rails Event Store ułatwia monitoring systemów eventowych;
Na czym polega magia Event Sourcingu i jak odtworzyć stan systemu sprzed pół roku;
Jak przebudowywać modele odczytu z historycznych eventów;
Jak wprowadzić eventy do starego kodu, korzystając z techniki Event Stormingu.