reklama - zainteresowany?

Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications - Helion

Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications
ebook
Autor: Michael Nash, Wade Waldron
ISBN: 978-14-919-3483-8
stron: 198, Format: ebook
Data wydania: 2016-12-12
Księgarnia: Helion

Cena książki: 143,65 zł (poprzednio: 167,03 zł)
Oszczędzasz: 14% (-23,38 zł)

Dodaj do koszyka Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications

Tagi: Techniki programowania

When it comes to big data processing, we can no longer ignore concurrency or try to add it in after the fact. Fortunately, the solution is not a new paradigm of development, but rather an old one. With this hands-on guide, Java and Scala developers will learn how to embrace concurrent and distributed applications with the open source Akka toolkit. You’ll learn how to put the actor model and its associated patterns to immediate and practical use.

Throughout the book, you’ll deal with an analogous workforce problem: how to schedule a group of people across a variety of projects while optimizing their time and skillsets. This example will help you understand how Akka uses actors, streams, and other tools to stitch your application together.

  • Model software that reflects the real world with domain-driven design
  • Learn principles and practices for implementing individual actors
  • Unlock the real potential of Akka with patterns for combining multiple actors
  • Understand the consistency tradeoffs in a distributed system
  • Use several Akka methods for isolating and dealing with failures
  • Explore ways to build systems that support availability and scalability
  • Tune your Akka application for performance with JVM tools and dispatchers

Dodaj do koszyka Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications

 

Osoby które kupowały "Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications", wybierały także:

  • JavaScript. Kurs video. Programowanie funkcyjne i reaktywne
  • ZostaÅ„ programistÄ…. Kurs video. Fundamentalne zasady i koncepcje programistyczne
  • F# 4.0 dla zaawansowanych. Wydanie IV
  • Systemy reaktywne. Wzorce projektowe i ich stosowanie
  • Scratch. Komiksowa przygoda z programowaniem

Dodaj do koszyka Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications

Spis treści

Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications eBook -- spis treści

  • Preface
    • Conventions Used in This Book
    • OReilly Safari
    • How to Contact Us
    • Acknowledgments
  • 1. The Actor Model
    • Reality Is Eventually Consistent
    • Deconstructing the Actor Model
    • All Computation Is Performed Within an Actor
    • Actors Can Communicate Only Through Messages
    • Actors Can Create Child Actors
    • Actors Can Change Their State or Behavior
    • Everything Is an Actor
    • Uses of the Actor Model
    • Defining Clear Boundaries
    • When Is the Actor Model Appropriate?
    • Conclusion
  • 2. Introducing Akka
    • What Is Akka?
      • Akka Is Open Source
      • Akka Is Under Active Development
      • Akka Is Distributed by Design
    • Akka Components
      • Akka Actor
      • Child Actors
      • Remoting: Actors on Different JVMs
      • Clustering: Automatic Management of Membership
        • Cluster leader
        • Cluster sharding
        • Distributed domains with cluster sharding
        • Cluster singleton
      • Akka HTTP
      • TestKit
      • Contrib
      • Akka OSGi
      • Akka HTTP
      • Akka Streams
    • Akkas Implementation of the Actor Model
    • Akkas Actors in the Actor Model
      • Message Passing
        • Tell
        • Ask
        • Publish/subscribe
      • Actor Systems
        • Creating new actors
        • Changing behavior
    • The Akka Typed Project
    • Conclusion
  • 3. Distributed Domain-Driven Design
    • DDD Overview
    • The Benefits of DDD
    • Components of DDD
    • Domain Entities
    • Domain Value Objects
    • Aggregates and Aggregate Roots
    • Repositories
    • Factories and Object Creation
    • Domain Services
    • Bounded Contexts
    • Conclusion
  • 4. Good Actor Design
    • Starting Small
    • Encapsulating State in Actors
      • Encapsulating State by Using Fields
      • Encapsulating State by Using State Containers
      • Encapsulating State by Using become
      • Mixing Futures with Actors
    • Ask Pattern and Alternatives
      • Problems with Ask
      • Accidental Complexity
      • Alternatives to Ask
    • Commands Versus Events
      • Constructor Dependency Injection
      • actorSelection via Path
        • Actor reference as a message
    • Conclusion
  • 5. Good Data Flow
    • Throughput Versus Latency
    • Streams
    • Routers
    • Mailboxes
      • Unbounded Mailboxes
      • Bounded Mailboxes
    • Work Pulling
    • Back Pressure
      • Acks
      • High-Water Marks
      • Queue-Size Monitoring
      • Rate Monitoring
    • Akka Streams
      • Source
      • Sink
      • RunnableGraph
      • Flow
      • Junctions
      • Back Pressure in Akka Streams
      • Using Akka Streams
    • Conclusion
  • 6. Consistency and Scalability
    • Transactions and Consistency
    • Strong Versus Eventual Consistency
    • Concurrency Versus Parallelism
    • Why Globally Consistent Distributed State Doesnt Scale
    • Location Transparency
    • Delivery Guarantees
      • At Most Once
      • At Least Once
      • Exactly Once Doesnt Exist (But Can Be Approximated)
      • How Do You Approximate Exactly Once Delivery?
      • Cluster Singleton
    • Scalability
      • Avoid Global State
      • Avoid Shared State
      • Follow the Actor Model
      • Avoid Sequential Operations
      • Isolate Blocking Operations
      • Monitor and Tune
    • Cluster Sharding and Consistency
      • Sharding
      • Sharding in Akka
      • Shard Key Generation
      • Shard Distribution
      • Consistency Boundary
      • Scalability Boundary
      • Sharding Aggregate Roots
      • Persistence
      • Passivation
      • Using Cluster Sharding for Consistency
    • Conclusion
  • 7. Fault Tolerance
    • Types of Failures
      • Exceptions
      • Fatal Errors in the JVM
      • External Service Failures
      • Failing to Meet a Service-Level Agreement
      • Operating System and Hardware-Level Failures
    • Isolating Failures
      • Bulkheading
      • Graceful Degradation
      • Isolating Failure by Using Akka Cluster
      • Controlling Failures by Using Circuit Breakers
    • Dealing with Failures
      • Dealing with Exceptions (Let It Crash)
        • Nonfatal exceptions
        • Fatal errors in the JVM
      • Dealing with External Service Failures
      • Conclusion
  • 8. Availability
    • Microservices Versus Monoliths
    • Bounded Contexts as Microservices
    • Fine-Grained Microservices
    • Cluster-Aware Routers
    • Distributed Data
    • Graceful Degradation
    • Deployment
    • Staged Deployment/Rolling Restarts
    • Blue/Green Deployment
    • Crash Recovery/Operational Monitoring
      • Health Checks and Application Status Pages
      • Metrics
      • Logging
      • Watchdog Tools
    • Conclusion
  • 9. Performance
    • Isolating Bottlenecks
    • Tuning Akka
      • Reduce or Isolate Blocking Sections
      • Make the Message Process in Less Time
      • Engage More Actors on Processing the Messages
    • Dispatchers
      • The Standard Dispatcher
      • Pinned Dispatcher
      • Balancing Dispatcher
      • Calling-Thread Dispatcher
      • When to Use Your Own Dispatchers
      • Increase Parallelism
    • Conclusion
  • Afterword
  • References
  • Index

Dodaj do koszyka Applied Akka Patterns. A Hands-On Guide to Designing Distributed Applications

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.