Creating a circuit breaker to avoid cascading failure
In an Akka distributed system, we are expected to write a lot of services in the form of actors who do their work asynchronously. In such an application, there are chances that some services would be under a huge load and might fail anytime. So there would be chances that if a service depends on a particular service and if that particular service fails, then there would be propagation of failure in the services that are calling that particular service. Thus, we need a mechanism to avoid calling those services if they are failing or unresponsive and stop serving further requests.
To deal with such a scenario, Akka provides a circuit breaker.
Getting ready
To step through this recipe, import the Hello-Akka
project in the IDE; other prerequisites are the same as earlier. In this recipe, we will create a dummy database and fetch records from it. We will use the circuit breaker to see how it blocks further requests if there is a delay in serving...