3factor app - Reliable Eventing

Topics covered
Popular Clips
Episode Highlights
Traditional Systems
Traditional transactional systems rely heavily on synchronous operations and database triggers. Joe Zack and Alan Underwood discuss the hidden logic of triggers and their role in enforcing business rules, despite their potential pitfalls 1. They highlight the difficulty of rolling back asynchronous operations, which complicates error handling in traditional systems 2.
You make your update and you return a message that says update made, and you've got this other action that's kind of running, that's kind of invisible to you. It's kind of like running in the space between worlds.
--- Joe Zack
In contrast, event-driven systems handle these issues more gracefully by logging events and addressing errors through additional events.
  Â
Migration Challenges
Transitioning from traditional to event-driven systems presents significant challenges. Alan Underwood explains that fixing bugs in event-driven systems can be more complex due to the immutability of events, requiring creative solutions to correct errors 3. Additionally, changes in data schemas necessitate updates in how applications interpret and replay events, adding another layer of complexity 4.
You might have to figure out, hey, where do I need to insert a record in between these events or whatever the case may be to try and get this thing back into a good state?
--- Alan Underwood
Despite these hurdles, the shift to event-driven architectures offers long-term benefits in scalability and reliability.
  Â
Event-Driven Benefits
Event-driven systems offer numerous advantages, particularly in terms of recovery and scalability. Alan Underwood notes that the simplicity of replaying events eliminates the need for custom recovery logic, making it easier to maintain system integrity 5. This approach also inherently provides an audit trail, as each event is logged and can be reviewed as needed.
The primary benefit of this is the simplicity when dealing with recovery. There's no custom business logic. You just replay the events.
--- Alan Underwood
Furthermore, Joe Zack highlights how modernizing data handling through event-driven systems can streamline processes and improve overall system efficiency 6.
Related Episodes


3factor app - Realtime GraphQL
Answers 383 questions

3factor app - Async Serverless
Answers 383 questionsThe Twelve-Factor App: Codebase, Dependencies, and Config
Answers 383 questionsThe Twelve-Factor App: Dev/Prod Parity, Logs, and Admin Processes
Answers 383 questionsThe DevOps Handbook – Enable Daily Learning
Answers 383 questionsCaching in the Application Framework
Answers 383 questionsThe Twelve-Factor App: Backing Services, Building and Releasing, Stateless Processes
Answers 383 questions

Designing Data-Intensive Applications - Reliability
Answers 383 questions

Designing Data-Intensive Applications - Data Models: Relational vs Document
Answers 383 questionsDesigning Data-Intensive Applications – Scalability
Answers 383 questions

Nuts and Bolts of Apache Kafka
Answers 383 questions
Tackling Tough Developer Questions
Answers 383 questionsDesign Patterns Part 3
Answers 383 questions

Designing Data-Intensive Applications – Multi-Leader Replication
Answers 383 questionsDesigning Data-Intensive Applications – Data Models: Query Languages
Answers 383 questions
