Events vs Messages Driven Asynchronous Data Exchanges

In my experience Option 1 is referred to as “Event-Carried State Transfer”.

As is common in the software engineering field, I think these design decisions are are case-dependent. Some resources that I find useful in these decisions include Martin Fowler’s blog, and here is his post on various Event Driven designs: What do you mean by “Event-Driven”?

Confluent provides a developer site which has an entire section dedicated to architectural patterns: Welcome to Event Streaming Patterns

Also the Designing Event-Driven Systems book (free download) by @benstopford Designing Event-Driven Systems | Confluent. Chapter 7 in particular speaks to your questions.

Good luck!

1 Like