A recovery strategy detects failures and restores affected computation or service. In server-side systems, Erlang processes and error-detection primitives support reliability, fault tolerance, scalability, and distribution. section 1.1.3
Supervision turns recovery into service lifecycle management. A supervision tree organizes supervisors and workers, defines startup and shutdown order, and limits failures to the smallest useful service boundary. section 9.1.6
A hierarchical recovery strategy can behave as follows:
- Restart a crashed database worker while leaving unrelated services running. section 9.1.6
- Terminate a database service and its descendants through the parent supervisor when a larger unit must be taken down. section 9.1.6
- Escalate after the restart frequency limit is exceeded: stop the database workers and supervisor, then let the system supervisor start a fresh database pool. section 9.1.6
One platform, multiple recovery needs
A web server may need concurrent request handling, long-running requests, server-wide state, persistent data, background jobs, and service crash recovery. A single Erlang-based system can address these requirements with platform features rather than separately deployed technologies. section 1.1.3
Use the supervision-tree diagram to trace service hierarchy, failure propagation, restart boundaries, and controlled shutdown. section 9.1.6


