.NET Architecture & System Design Interview Question #10
What is fault tolerance?
Architecture Fundamentals, Scalability, Availability & Performance Junior Beginner
Quick Interview Answer
Fault tolerance is the ability of a system to continue providing an acceptable level of service when one or more components fail.
Detailed Explanation
Fault tolerance is the ability of a system to continue providing an acceptable level of service when one or more components fail.
Techniques include redundancy, replication, failover, isolation, retries, circuit breakers, and graceful degradation. Complete fault tolerance is expensive, so the design should focus on failures that matter to the business requirements.
Code Example
Client
|
Load Balancer
/ \
App A App B
|
replicated dependency