Sveriges mest populära poddar

ConTejas Code

Event Sourced Architecture: A Deep Dive

90 min • 7 april 2025

Follow me on 𝕏: https://x.com/tejaskumar_


This podcast episode dives deep into the world of Event Sourcing, a powerful architectural pattern used in modern software development. Beginning with a clear definition of Event Sourcing, the episode explores its roots in Domain Driven Design and its critical role in recording and storing every change made to the state of an application in an event store. I break down complex topics, such as the nature of events, the intricacies of implementing Event Sourcing in real-world applications, and the various benefits and challenges associated with this approach.


Listeners will gain insights into the practical aspects of Event Sourcing, including detailed discussions on storage costs, computational expenses, and the practice of snapshotting to optimize performance. The episode also covers the concept of event ownership, Command Query Responsibility Segregation (CQRS), and ensuring data consistency using Apache Kafka, a distributed event streaming platform known for its high throughput, reliability, and scalability.


Further, the episode delves into Kafka's performance mechanisms, its use as an event store, and the transition from Zookeeper to KRaft for cluster coordination. Alternatives to Kafka, such as using Postgres' Write-Ahead Logging (WAL) as an event store, are examined, providing listeners with a comprehensive view of the options available for implementing Event Sourcing.


The discussion extends to real-life use cases of Event Sourcing, highlighting its application across various industries and projects. The experts also tackle some of the common problems encountered when adopting Event Sourcing, offering practical advice and solutions. Finally, the episode concludes with a thoughtful analysis on whether Event Sourcing is the right choice for your project, helping listeners to make informed decisions based on their specific needs and project requirements.


This episode is a must-listen for software developers, architects, and technology leaders looking to understand Event Sourcing, its benefits, challenges, and implementation strategies. Whether you're new to Event Sourcing or looking to refine your existing knowledge, this episode provides valuable insights into making the most of this powerful architectural pattern.


Chapters

00:00 - Intro

03:33 - Sponsor (CrabNebula.dev)

04:21 - Defining Event Sourcing

07:47 - What are Events? (Domain Driven Design)

14:45 - Real-World Examples of Event Sourcing

19:52 - Complexities of Event Sourcing

21:33 - Storage Costs

23:36 - Computational Costs

24:10 - Snapshotting

35:15 - Event Ownership

36:19 - CQRS

44:08 - Consistency with Kafka

54:10 - Kafka Performance Mechanisms

01:03:05 - Kafka as an Event Store

01:04:13 - Zookeeper & KRaft

01:09:47 - Postgres WAL as an Event Store?

01:13:24 - Event Sourcing Use Cases

01:18:50 - Event Sourcing Problems

01:26:22 - Should You Event Source?

01:27:44 - Conclusion


Hosted on Acast. See acast.com/privacy for more information.

Kategorier
Förekommer på
00:00 -00:00