Skip to content
0:00 / 0:00

#eventsourcing#cqrs#event-carriedstatetransfer

The Many Meanings of Event-Driven Architecture • Martin Fowler • GOTO 2017

GOTO Conferences

1M subscribers • 91 videos on Hallway • Conference channel

YouTube
  • Recommended by 5 people: 1 on Hacker News and 4 in engineering communities.
  • A classic. People kept recommending it from 2017 to 2020.
  • Presented by Martin Fowler, Chief Scientist at Thoughtworks

Intermediate. Assumes working knowledge.

676K views9 years ago5 recommendations

Distributed systemsSoftware designEvent-driven systems and messagingSoftware architectureMicroservices and monoliths

Martin Fowler deconstructs event-driven architecture into four distinct patterns, explaining the trade-offs of event notification, event-carried state transfer, and event sourcing.

This presentation was recorded at GOTO Chicago 2017. #GOTOcon #GOTOchgo gotochgo.com Martin Fowler - Author, Speaker, Consultant and General Loud-mouth on Software Development ABSTRACT During my career, I've often people heard people describe their systems as "event-driven". But when looking deeper that phrase seems to lead to some very different architectural assumptions. On a recent workshop we identified four different patterns [...] TIMECODES What people mean by EDA How he came to write down common patterns of EDA and hold this talk 4 patterns detected Pattern 1: Event Notification Events vs Commands Pro: Decoupling Contra: inability to understand what is going on by stepping through the code Pattern 2: Event-carried State Transfer Pattern 3: Event Sourcing Can be a very nice system development-wise Downside of Event Sourcing Which events to record in the event store? Pattern 4: CQRS Conclusion : How to use the knowledge about those 4 patterns Read the full abstract here: gotochgo.com/2017/sessions/47 RECOMMENDED BOOKS Martin Fowler & Pramod Sadalage • NoSQL Distilled • amzn.to/3ChIpu7 Martin Fowler • Patterns of Enterprise Application Architecture • amzn.to/3lp4sIq Martin Fowler • Domain-Specific Languages • amzn.to/3nzOIFk Martin Fowler • UML Distilled • amzn.to/3kahjyA Martin Fowler • Analysis Patterns • amzn.to/3Emabar twitter.com/GOTOcon linkedin.com/company/goto- instagram.com/goto_con facebook.com/GOTOConferences #EventDrivenArchitecture #EventDriven #SoftwareArchitecture #MartinFowler CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at gotopia.tech Sign up for updates and specials at gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. youtube.com/user/GotoConferences/?sub_confirmation=1

Why it's here

5 people recommend this

What people say. Widely recommended as the definitive explanation of the different patterns and trade-offs under the umbrella of event-driven architecture.

u/DigitalBackbonein r/softwarearchitecture • Recommends

The Many Meanings of Event-Driven Architecture • Martin Fowler (2017)

u/rahulaga_devin r/softwarearchitecture • Recommends

wonderful talk on event driven architecture

u/fagnerbrackin r/Frontend • Recommends

The Many Meanings of Event-Driven Architecture

dathinabon Hacker News • Recommends

On “Data-Oriented Architecture”

I think that one was good: - link to this video I wasn't able to find any other talk I watched back then or any of the stuff I did read, but I then last time I looked into talks and reading material about this was ~2.5 Years ago and while a lot of new software and tooling was done since then the principles didn't change. Try some of the other GOTO; talks about it if you like listening to talks, they tend to be quite good. This was interesting as far as I remember but not what I was looking for: - link

u/rick-rebelin r/softwarearchitecture • Recommends

link to this video The Many Meanings of Event-Driven Architecture with Martin Fowler

u/pdevito3in r/softwarearchitecture • Mentions

On “Bounded Contexts and event streaming”

This is a good talk on the types of event driven architecture. The short high level is that you can have 1) event driven where an action happens and fires and event (OrderRequested) and a consumer picks up that event to do something about it (PlaceOrder) or 2) an event sourced architecture where you can trace the entire history of an object through events on the object. Sourcing sounds interesting in principle but I’d personally be scared of gotchas with it. Think it would be cool if implemented well though. For complex distributed systems, this is one of the best talks I’ve seen on it. Also, love that you’re doing DDD :-)

u/Java_Beansin r/softwarearchitecture • Mentions

On “Microservices Architecture vs Even Oriented Architecture differences”

I'm sorry but I don't agree. > object oriented design principles applied across a networked topology This is a very limited version of what microservices architecture is. A service is not a mapping of an object > Event oriented sounds very much like a message bus. Message bus is suitable in SOA, microservices can be used with/without event driven architecture. OP, for event driven and anything microservices I highly recommend you watch Martin Fowler videos, all available on YouTube. Check this one: link to this video

leocon Hacker News • Mentions

On “Message-Oriented Programming (2017)”

As a first-class language feature this goes back at least to 1985 and Linda link and tuplespaces. (You'd know about Linda already if you'd read Concepts, Techniques, and Models of Computer Programming . Don't delay, read CTM today: link ) And here's a Martin Fowler talk about the practise of implementing it informally as a pattern or framework: link to this video

leocon Hacker News • Mentions

On “Message-Oriented Programming (2017)”

I think Fowler would describe the model in the article as more like "Event-carried State Transfer": link to this video .

nivertechon Hacker News • Mentions

On “Ask HN: Are any new systems *not* event sourced and microservices?”

…es) easier, and most importantly possible at all. So for a complex domain in a small company I would choose a CQRS/ES monolith, but for a simple domain and high scalability in a large company maybe CRUD-based microservices are making more sense. -- 1 link 2 link 3 The Many Meanings of Event-Driven Architecture • Martin Fowler • GOTO 2017 link to this video What do you mean by “Event-Driven”? link tagged by: event architectures link…

u/Wide-Answer-2789in r/softwarearchitecture • Mentions

On “Looking for thoughts about an architectural problem”

Yes, that is valid question To answer that to yourself you need a little bit more theory I would suggest start from : link to this video link to this video Serverlessland.com

Michaelon Software Engineering Stack Exchange • Mentions

On “Service integration with large amounts of data”

There are many different expected granularities of message, depending on what it is you are trying to accomplish. Martin Fowler has a really good talk on this named The Many Meanings of Event-Driven Architecture (link to this video). He gives four styles: Event notification (spartan "something happened" messages with almost no data). Event carried state transfer (same as before, but with consumers reaching back to producer system for details). Event sourcing (smaller messages stored in their separately with a view built up around it). CQRS (event sourcing with the additional idea that you split update and read contracts). I usually add a fifth type of messaging (not event driven) which is jus…