What is the Event Sourcing Pattern? | Designing Event-Driven Microservices

What is the Event Sourcing Pattern? | Designing Event-Driven Microservices

Feb 15, 2024

► LEARN MORE: https://cnfl.io/microservices-101-module-1

Event Sourcing is a pattern of storing an object's state as a series of events. Each time the object is updated a new event is written to an append-only log. When the object is loaded from the database, the events are replayed in order, reapplying the necessary changes.

Check out the Microservices 101 course on Confluent Developer for more details: https://cnfl.io/microservices-101-module-1

The benefit of this approach is that it stores a full history of the object. This can be valuable for debugging, auditing, building new models, and a variety of other situations. It is also a technique that can be used to solve the dual-write problem when working with event-driven architectures.

RELATED RESOURCES
► What is the Dual Write Problem?: https://youtu.be/FpLXCBr7ucA
► Event Sourcing: https://cnfl.io/4breRfT
► Event Sourcing and Event Storage with Apache Kafka®: https://cnfl.io/3w0n627
► Microservices: An Introduction https://cnfl.io/3ZMt3up
► Event-Driven Microservices Architecture: https://cnfl.io/48FSYbj
► Migrate from Monoliths to Event-Driven Microservices: https://cnfl.io/3tsqlhu
► Get Started on Confluent Developer: https://cnfl.io/48FnKRB

CHAPTERS

00:00 - Intro

00:22 - How are objects stored in traditional databases?

01:01 - What is an audit log, and why is it useful?

01:35 - Do audit logs create duplicated data?

01:57 - Should the audit log be used as the source of truth?

02:23 - What is event sourcing?

03:27 - What are some advantages of event sourcing?

04:28 - Does event sourcing solve the dual-write problem?

05:02 - What are some disadvantages of event sourcing?

05:20 - Closing

ABOUT CONFLUENT
Confluent is pioneering a fundamentally new category of data infrastructure focused on data in motion. Confluent’s cloud-native offering is the foundational platform for data in motion – designed to be the intelligent connective tissue enabling real-time data, from multiple sources, to constantly stream across the organization. With Confluent, organizations can meet the new business imperative of delivering rich, digital front-end customer experiences and transitioning to sophisticated, real-time, software-driven backend operations. To learn more, please visit www.confluent.io.

#microservices #apachekafka #kafka #confluent