Chapter 4. Actor Failure Detection, Recovery, and Self-Healing
In the previous chapters, we covered some of the features of actors and how they relate to handling errors and failure recovery. Let’s dig a little deeper into this, shall we?
There are a number of strategies available for handling errors and recovering from failures both at the actor level and at the actor system level.
At the actor level, failure handling and recovery starts with the supervisor-worker relationship. Actors that create other actors are direct supervisors, and for error handling this means that supervisors are notified when a worker runs into a problem. In the supervisor role, there are four well-known recovery steps that may be performed when they are notified of a problem with one of their workers:
-
Ignore the error and let the worker resume processing
-
Restart the worker and perform a worker reset
-
Stop the worker
-
Escalate the problem to the supervising actor of the supervisor
How a supervisor handles problems with a worker is not limited to these four recovery options, but other custom strategies may be used when necessary.
All actors have a supervisor. Actors will form themselves into a hierarchy of worker to supervisor to grand-supervisor and so on (see Figure 4-1). At the top of the hierarchy is the actor system. If a problem is escalated to the actor system, its default recovery process is to restart the worker (or terminate the worker when more serious problems occur). This supervisory ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access