Tuesday 2:35 p.m.–3:05 p.m.
Remote Calls != Local Calls: Graceful Degradation when Services Fail
Daniel Riti
- Audience level:
- Intermediate
- Category:
- Best Practices & Patterns
Description
In a world where we are becoming more dependent on the network to be reliable due to trends to decouple systems into distributed services, we must do our best to expect failure to occur everywhere and anywhere. This talks aims to explore different techniques for gracefully degrading when the networks fail and the services we depend on are no longer available.
Abstract
In a world where our systems are becoming more distributed then ever due to growing trends to decouple systems into small services, we are becoming dependent on network communication between these services to be reliable. But as we all know the number one fallacy of distributed computing is that the [network is reliable][1].
Armed with this knowledge, we know that things will fail. So we must do our best to expect that failure will occur anywhere and everywhere. Thus, let's explore different techniques we can use to build antifragile systems, that degrade gracefully when the network fails and the services we depend on are no longer available.
Topics that I will cover in this talk include:
- Timeouts
- [Circuit breaker pattern][2]
- Retries
[1]: https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
[2]: https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern