# Load Balancing

> A mechanism that spreads incoming requests across healthy instances of a service.

Record: `architecture:load-balancing`
Kind: mechanism
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: contextual
Scope: traffic, service
Canonical: https://banes-lab.com/ontology#architecture-load-balancing

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Elasticity](https://banes-lab.com/records/architecture/elasticity.md) and before [Sharding](https://banes-lab.com/records/architecture/sharding.md).

## Repair

- Refactored by: Add Load Balancer, Externalize Session State
- Detected by: skewed instance utilization
- Violated by: uneven traffic causing hotspots
- Measured by: request distribution, [latency](https://banes-lab.com/records/architecture/latency.md)
- Enforced by: infrastructure config checks

## Requires

- [Multiple Targets](https://banes-lab.com/records/lexicon/multiple-targets.md)
- [Health Checks](https://banes-lab.com/records/architecture/health-checks.md)

## Reinforces

- [Availability](https://banes-lab.com/records/lexicon/availability.md)
- [Scalability](https://banes-lab.com/records/architecture/scalability.md)

## Enables

- [Traffic Distribution](https://banes-lab.com/records/lexicon/traffic-distribution.md)

## Conflicts with

- [Single Target Routing](https://banes-lab.com/records/lexicon/single-target-routing.md)

## In tension with

- [Session Affinity](https://banes-lab.com/records/lexicon/session-affinity.md)

## Tensions

- [Load Balancing / Session Affinity](https://banes-lab.com/records/tension/load-balancing-session-affinity.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Scalability / Performance / Optimization](https://banes-lab.com/records/architecture-category/scalability-performance-optimization.md)

## Reinforced by

- [Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.md)
- [Read Replica](https://banes-lab.com/records/architecture/read-replica.md)

## Enabled by

- [Statelessness](https://banes-lab.com/records/architecture/statelessness.md)

## Linked from

- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/ontology/principles/architecture-category-event-messaging-asynchronous-architecture.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Self-Healing / Recovery / Deployment Safety](https://banes-lab.com/ontology/principles/architecture-category-self-healing-recovery-deployment-safety.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/lexicon/lexicon-category-scalability-performance-optimization.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
