Published Sep 3, 2019

Episode 178: Akka With Jonas Boner

Jonas Boner delves into Akka's transformative capabilities, discussing its seamless integration with web systems, the resilient 'Let It Crash' philosophy, and its innovative use of the actor model for enhanced concurrency and scalability, all of which contribute to building high-performance distributed systems.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Let It Crash

    The "Let It Crash" philosophy, inspired by Erlang, is central to Akka's approach to managing system failures. explains that this philosophy allows systems to self-heal by configuring responses to failures rather than relying on defensive programming with try-catch blocks 1. This approach treats failure as a natural part of the application lifecycle, enabling systems to recover and continue functioning without manual intervention. describes it as organizing programs like an onion, with critical states protected by layers of defense 2.

    It is as natural to crash as it is to boot up and to start and to dispatch messages successfully.

    ---

    This method not only simplifies error handling but also enhances system resilience by allowing components to reset to a stable state and continue operations.

       

    Supervision

    Akka's supervision strategies are designed to manage failures and ensure automatic recovery. discusses how exceptions are handled by transferring them from the receiver's thread to the caller's thread, allowing for asynchronous error management 3. This method provides flexibility, enabling clients to decide whether to block and wait for a result or handle exceptions through callbacks.

    We have three different ways of doing it... you can decide to do the blocking await or you can register an on complete callback.

    ---

    By using futures, Akka allows for scalable server operations while maintaining client-side control over exception handling, thus enhancing the robustness and scalability of applications.

Related Episodes