The Many Meanings of Event-Driven Architecture • Martin Fowler • GOTO 2017
GOTO Conferences1 HN recommender · recommended in 1 month, 2018–2022
talk · intermediate · evergreen · 2018–2022 on HN
Martin Fowler's GOTO Chicago 2017 talk on the different things people mean by event-driven architecture. He identifies four patterns, including event notification and event-carried state transfer.
Cited as a useful taxonomy for pinning down what an event-driven design actually is.
Up next
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNHow To Design A Good API and Why it Matters
Google TechTalks
12 HN recommender · 2011–2025
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
10 HN recommender · 2014–2023
10 mo on HNOverwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
16 HN recommender · 2019–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
10 mo on HNLecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
10 HN recommender · 2019–2026
11 mo on HNAlan Kay - Normal Considered Harmful
powerfuloutlet
10 HN recommender · 2012–2026
10 mo on HNA Philosophy of Software Design | John Ousterhout | Talks at Google
Talks at Google
11 HN recommender · 2018–2026
10 mo on HN"Uncle" Bob Martin - "The Future of Programming"
Paul Stringer's Mobile Tech
10 HN recommender · 2016–2022
10 mo on HNEffective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
10 HN recommender · 2017–2026
4 comments from Hacker News
I think that one was good: - ▶ 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
You're right about microservices, but IMO you're mistaken Event Sourcing (CQRS/ES)[1,2] with EDA (Event-Driven Architectures)[3] in general. There are many different types of EDAs. There are at least 3 relevant dimensions when choosing a Software Architecture: 1. complexity of the domain 2. scalability requirements 3. company stage / number of developers working on the same codebase Microservices are mostly solving #3, and to a lesser extent #2. They mostly solve the problem of too many developers blocking each other on a monolithic codebase (NOTE: monolithic doesn't mean non-modular). Event Sourcing and friends (DDD, CQRS, EventStorming, etc.) are mostly solving #1. It's also technology/vendor-agnostic, so makes migration to other tech (including microservices) 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 ▶ this video What do you mean by “Event-Driven”? link tagged by: event architectures link
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: ▶ this video
I think Fowler would describe the model in the article as more like "Event-carried State Transfer": ▶ this video .