# Failover

Record: `arch:failover`
Kind: mechanism
Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
Severity: contextual
Scope: service, infrastructure, data
Canonical: https://banes-lab.com/ontology#arch-failover

## Repair

- Refactored by: Add Replica, Add Failover Routing
- Detected by: single active dependency with no failover
- Violated by: no alternate instance/path for critical dependency
- Measured by: failover time, [availability](https://banes-lab.com/records/lex/availability.md)
- Enforced by: disaster recovery tests

## requires

- [Redundancy](https://banes-lab.com/records/arch/redundancy.md)
- [Health Detection](https://banes-lab.com/records/lex/health-detection.md)

## reinforces

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

## enables

- [Continuity During Failure](https://banes-lab.com/records/lex/continuity-during-failure.md)

## conflicts-with

- [Single Instance Dependency](https://banes-lab.com/records/lex/single-instance-dependency.md)

## tensions-with

- [Consistency](https://banes-lab.com/records/arch/consistency.md)

## tensions

- [Failover Consistency](https://banes-lab.com/records/tension/consistency-failover.md)

## referenced-by

- [Service Discovery](https://banes-lab.com/records/arch/service-discovery.md)
- [Redundancy](https://banes-lab.com/records/arch/redundancy.md)
- [Replication](https://banes-lab.com/records/arch/replication.md)
