Understanding graceful degradation through an example
Here is an example of a system that handles a system degradation graciously.
This architecture diagram (Figure 4.1) illustrates how a resilient system can handle a user requesting a file, with the ability to return the file from a cache if the underlying system fails or the file doesn’t exist anymore:

Figure 4.1 – Logical architecture diagram showing a decision being made to return a cached file when the target file server is unavailable
The following diagram (Figure 4.2) shows a simplified example sequence of actions that take place within the system when a user requests a file during a file server failure:

Figure 4.2 – Sequence diagram showing an example sequence of actions that could take place when a user requests a file during a file server failure
Let’s walk through the details of what is happening here:
- The user sends a request...