{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"DevTalk #138 - O Event-Driven Architecture z Tomaszem Stolarczykiem","description":"Masz dosy\u0107 system\u00f3w, kt\u00f3re sypi\u0105 si\u0119 jak domek z kart, gdy tylko jeden serwis z\u0142apie zadyszk\u0119? Czas przesta\u0107 trzyma\u0107 us\u0142ugi \u201eza r\u0119k\u0119\u201d przez HTTP i pozwoli\u0107 im \u017cy\u0107 w\u0142asnym \u017cyciem. Event-Driven Architecture (EDA) to przej\u015bcie z trybu rozkazuj\u0105cego na reagowanie na fakty, wi\u0119c zamiast m\u00f3wi\u0107 ka\u017cdemu, co ma robi\u0107, po prostu og\u0142aszasz, co si\u0119 sta\u0142o. W tym odcinku o EDA m\u00f3wi\u0142 Tomasz Stolarczyk, programista i konsultant z Arkency, specjalizuj\u0105cy si\u0119 w ratowaniu system\u00f3w legacy. Po latach pracy z Jav\u0105, obecnie rozwija z\u0142o\u017cone systemy w Ruby. Jest wsp\u00f3\u0142tw\u00f3rc\u0105 i aktywnym developerem Rails Event Store: otwarto\u017ar\u00f3d\u0142owego narz\u0119dzia do obs\u0142ugi zdarze\u0144 i Event Sourcingu, na kt\u00f3rym bazuje wiele jego wdro\u017ce\u0144. Tomasz opowiada, jak nie zgubi\u0107 si\u0119 w \u015bwiecie bez stacktrace\u2019\u00f3w i dlaczego programi\u015bci mog\u0105 czerpa\u0107 gar\u015bciami z EDA, nawet je\u015bli nie chc\u0105 (lub nie potrzebuj\u0105) wdra\u017ca\u0107 pe\u0142nego Event Sourcingu. Z tego odcinka dowiesz si\u0119:  Czym charakteryzuje si\u0119 Event-Driven Architecture i jak wyt\u0142umaczy\u0107 to nowej osobie w zespole; Czym r\u00f3\u017cni si\u0119 prawdziwe EDA od zwyk\u0142ego \u201estrzelania eventami\u201d po akcji u\u017cytkownika; Co zapewnia wzorzec Outbox; Chude czy grube eventy i co wys\u0142a\u0107 w \u015bwiat, \u017ceby nie \u201ezabi\u0107\u201d bazy subskrybenta; Kiedy postawi\u0107 na swobodn\u0105 choreografi\u0119 us\u0142ug, a kiedy wprowadzi\u0107 Process Managera; Jak dzia\u0142a komunikacja asynchroniczna w EDA; Jakie wyzwania niesie debugowanie systemu bez stacktrace'\u00f3w; Dlaczego Rails Event Store u\u0142atwia monitoring system\u00f3w eventowych; Na czym polega magia Event Sourcingu i jak odtworzy\u0107 stan systemu sprzed p\u00f3\u0142 roku; Jak przebudowywa\u0107 modele odczytu z historycznych event\u00f3w; Jak wprowadzi\u0107 eventy do starego kodu, korzystaj\u0105c z techniki Event Stormingu.  &amp;nbsp; &amp;nbsp; Linki:  Nagranie The Many Meanings of Event-Driven Architecture, Martin Fowler, Rails Event Store, Artyku\u0142y Tomka na devstyle, DevTalk #108 - O Programowaniu Obiektowym z Tomaszem Stolarczykiem, DevTalk #110 - O Event Storming z Mariuszem Gil, epizodyczn\u0105 rol\u0119 Tomasza mo\u017cna obejrze\u0107 w&amp;nbsp;Domain-Driven Design, a jego mini-kurs o Feature Flags znajdziecie tutaj!  &amp;nbsp; &amp;nbsp; Rozdzia\u0142y: 00:00 Powitanie i przedstawienie go\u015bcia 00:33 Kim jest Tomasz Stolarczyk 04:00 R\u00f3\u017cne rozumienie Event-Driven Architecture 07:37 Stare zdarzenia a nowoczesne EDA 09:15 Korzy\u015bci z decoupling i autonomii subskrybent\u00f3w 11:50 Rola monitoringu, Correlation\/Causation ID 15:15 Poziomy abstrakcji zdarze\u0144 i ich nazewnictwo 17:55 Wykorzystanie Event Storming do wykrywania event\u00f3w 20:16 EDA zamiast zwyk\u0142ych wywo\u0142a\u0144 HTTP 22:42 Outbox Pattern 26:10 Choreografia a orkiestracja 30:15 Process Manager w modelowaniu proces\u00f3w biznesowych 34:32 Projektowanie akcji kompensacyjnych w przypadku b\u0142\u0119d\u00f3w 36:44 Eventual Consistency 42:08 Dane historyczne w systemach opartych na zdarzeniach 44:44 Tryby dostarczania wiadomo\u015bci 48:16 Znaczenie idempotencji przy przetwarzaniu zdarze\u0144 52:41 Strategie wprowadzania element\u00f3w EDA do system\u00f3w legacy 57:03 Korzy\u015bci z analityki opartej na historii zdarze\u0144 ","author_name":"DevTalk by devstyle.pl","author_url":"http:\/\/devtalk.pl","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/40041810\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/198388935"}