liveBook · Manning

Distributed system

As explained in Learn Docker in a Month of Lunches, Second Edition

A distributed system is a system whose components execute across multiple networked processes or computing environments.

A distributed system runs application components across multiple networked processes or computing environments. Containerizing a monolith lets features move into independently managed containers without requiring an all-at-once rewrite. section 1.1.2

Practical properties emerge as the application is split into components:

  • Components communicate over a private container network while remaining isolated from outside access. section 1.1.2
  • Features can be tested, scaled, and managed independently, with different technologies selected for different requirements. section 1.1.2
  • Production platforms should start available components without enforcing a rigid startup order, then replace components that fail dependency or health checks. section 8.5

Self-healing production

A cluster may run many API and web containers across several servers. If one API container cannot start or runs out of memory, the platform can restart or replace it while the remaining containers continue serving users. section 8.5

Figure 1.3 Decomposing a monolith into a distributed application without rewriting the whole project. All the components run in Docker containers, and a routing component decides whether requests are fulfilled by the monolith or a new microservice.
figure

Trace a monolith’s gradual decomposition into Docker containers, with routing deciding whether requests reach the original monolith or a new microservice. section 1.1.2

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Explains decomposition, networking, startup behavior, and self-healing operations without descending into application-code internals.
Examples
Uses monolith decomposition, private container networking, production clusters, failed dependencies, and out-of-memory container replacement.
What it assumes
Assumes basic application deployment concepts while introducing containerized decomposition and platform-managed recovery incrementally.
What you can do after
Operate/configure containerized distributed applications with Docker Compose or Kubernetes, using health checks instead of fixed startup order.
How it connects
Connects distributed systems with containers, microservice architecture, dependency checks, health checks, and self-healing applications.

Also explained in

Compare how 15 books explain distributed system →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.