Published Sep 30, 2019

3factor app - Reliable Eventing

    Explore the transformative power of Reliable Eventing in Hasura's 3factor app, as the hosts dissect immutable event logs, atomic events, and Kafka's pivotal role in event-driven systems. Delve into the complexities of event granularity and the shift from traditional systems to innovative event-driven architectures, unraveling the challenges and advantages of this technological evolution.
    Episode Highlights
    Coding Blocks logo

    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