Load balancing distributes incoming calls or tasks among multiple running service processes. It becomes necessary when horizontal scaling adds more than one server or application instance. section 8.2
A balancer may alternate between services or inspect current load. Coordination must also prevent two processors from claiming the same task, using existing-record checks or in-process markers. section 8.2
Load balancing supports a scaling trade-off:
- Horizontal scaling adds physical machines and uses load balancing and queues to distribute work, increasing monetary cost. section 8.2
- Vertical scaling adds resources to existing hardware and divides work among processes, avoiding additional machines but requiring work partitioning. section 8.2












