# Horizontal Scaling

Record: `arch:horizontal-scaling`
Kind: technique
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: contextual
Scope: service, infrastructure
Canonical: https://banes-lab.com/ontology#arch-horizontal-scaling

## Repair

- Refactored by: Externalize State, Add Load Balancer
- Detected by: local session/state coupling
- Violated by: sticky instance state required for correctness
- Measured by: scale-out efficiency
- Enforced by: deployment tests

## requires

- [Statelessness or Shared State Strategy](https://banes-lab.com/records/lex/statelessness-or-shared-state-strategy.md)

## reinforces

- [Elasticity](https://banes-lab.com/records/arch/elasticity.md)
- [Availability](https://banes-lab.com/records/lex/availability.md)

## enables

- [Scale-Out](https://banes-lab.com/records/lex/scale-out.md)

## conflicts-with

- [Instance-Local State](https://banes-lab.com/records/lex/instance-local-state.md)

## tensions-with

- [Distributed Coordination](https://banes-lab.com/records/lex/distributed-coordination.md)

## tensions

- [Horizontal Scaling Distributed Coordination](https://banes-lab.com/records/tension/distributed-coordination-horizontal-scaling.md)

## referenced-by

- [Space-Based Architecture](https://banes-lab.com/records/arch/space-based-architecture.md)
- [Competing Consumers](https://banes-lab.com/records/arch/competing-consumers.md)
- [Sharding](https://banes-lab.com/records/arch/sharding.md)
- [Statelessness](https://banes-lab.com/records/arch/statelessness.md)
- [Read Replica](https://banes-lab.com/records/arch/read-replica.md)
