Fault tolerance keeps a distributed application providing acceptable service when components fail. Microservices can contain individual crashes within the cluster, shielding customers from their effects. section 11.4 section 11.6
Build fault tolerance with complementary operational techniques:
- Run multiple replicas behind a load balancer so another instance can serve requests while a failed instance restarts. section 11.1
- Configure Kubernetes health checks to detect and automatically restart failed microservices. section 11.6
- Set request timeouts so hung internal or external calls abort instead of leaving customers waiting indefinitely. section 11.4.6
- Retry failed network requests, preserve essential work with a job queue, and use a circuit breaker for more advanced protection. section 11.6
- Use logging, error handling, health checks, and observability to diagnose failures and understand interactions between services. section 11.1 section 11.6
Fail-fast HTTP requests
Axios requests wait forever by default unless configured otherwise. Set a 2,500-millisecond default timeout, then retry a failed operation up to three times with a five-millisecond wait between attempts. section 11.4.6
Use the production infrastructure diagram to connect replicas, load balancing, service instances, and telemetry in one fault-tolerant deployment. section 11.1




