liveBook · Manning

Horizontal scaling

As explained in Grokking Concurrency

A scaling approach that increases performance by distributing load across existing and additional processing resources.

Horizontal scaling, or scaling out, increases performance by distributing load across existing and additional processing resources. Unlike upgrading one processor or adding memory, it grows capacity by adding resources that share the work. section 1.3

The approach addresses several limits of scaling up:

  • Adding processing resources can avoid the performance ceiling of increasingly expensive, more powerful individual processors. section 1.3
  • Distributed resources support real-time systems, high data volumes, reliability through redundancy, and improved resource utilization. section 1.3
  • A single computer may not be enough; multiple interconnected machines can form a computing cluster for data-processing tasks. section 1.3

Horizontal scaling requires system concurrency because work must be handled across resources. It also fits a broader strategy of decoupling: complex problems can be divided into simpler, linked components. section 1.6 section 1.3

How Grokking Concurrency covers it

How deep it goes
Explains the definition, contrasts scaling up, and extends the idea to concurrency and computing clusters without implementation details.
Examples
Uses existing and new processing resources, interconnected machines, computing clusters, real-time systems, and high-volume data as examples.
What it assumes
Assumes system concurrency and recognizes that one computer may not provide enough processing resources.
What you can do after
Apply the approach by distributing load across existing and new processing resources, including interconnected machines in a computing cluster.
How it connects
Connects horizontal scaling with vertical scaling, concurrency, computing clusters, decoupling, redundancy, and cloud/SaaS environments.

Also explained in

Compare how 13 books explain horizontal scaling →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Grokking Concurrency. The section links point to the parts of the book it draws on.