Books & Videos

Table of Contents

  1. Chapter 1 The Actor Model

    1. Reality Is Eventually Consistent

    2. Deconstructing the Actor Model

    3. All Computation Is Performed Within an Actor

    4. Actors Can Communicate Only Through Messages

    5. Actors Can Create Child Actors

    6. Actors Can Change Their State or Behavior

    7. Everything Is an Actor

    8. Uses of the Actor Model

    9. Defining Clear Boundaries

    10. When Is the Actor Model Appropriate?

    11. Conclusion

  2. Chapter 2 Introducing Akka

    1. What Is Akka?

    2. Akka Components

    3. Akka’s Implementation of the Actor Model

    4. Akka’s Actors in the Actor Model

    5. The Akka Typed Project

    6. Conclusion

  3. Chapter 3 Distributed Domain-Driven Design

    1. DDD Overview

    2. The Benefits of DDD

    3. Components of DDD

    4. Domain Entities

    5. Domain Value Objects

    6. Aggregates and Aggregate Roots

    7. Repositories

    8. Factories and Object Creation

    9. Domain Services

    10. Bounded Contexts

    11. Conclusion

  4. Chapter 4 Good Actor Design

    1. Starting Small

    2. Encapsulating State in Actors

    3. Ask Pattern and Alternatives

    4. Commands Versus Events

    5. Conclusion

  5. Chapter 5 Good Data Flow

    1. Throughput Versus Latency

    2. Streams

    3. Routers

    4. Mailboxes

    5. Work Pulling

    6. Back Pressure

    7. Akka Streams

    8. Conclusion

  6. Chapter 6 Consistency and Scalability

    1. Transactions and Consistency

    2. Strong Versus Eventual Consistency

    3. Concurrency Versus Parallelism

    4. Why Globally Consistent Distributed State Doesn’t Scale

    5. Location Transparency

    6. Delivery Guarantees

    7. Scalability

    8. Cluster Sharding and Consistency

    9. Conclusion

  7. Chapter 7 Fault Tolerance

    1. Types of Failures

    2. Isolating Failures

    3. Dealing with Failures

  8. Chapter 8 Availability

    1. Microservices Versus Monoliths

    2. Bounded Contexts as Microservices

    3. Fine-Grained Microservices

    4. Cluster-Aware Routers

    5. Distributed Data

    6. Graceful Degradation

    7. Deployment

    8. Staged Deployment/Rolling Restarts

    9. Blue/Green Deployment

    10. Crash Recovery/Operational Monitoring

    11. Conclusion

  9. Chapter 9 Performance

    1. Isolating Bottlenecks

    2. Tuning Akka

    3. Dispatchers

    4. Conclusion