A task in an application composed of Microservices can comprise of several steps. The individual steps may be independent of each other but they are orchestrated by application logic that implements the task.
Application should ensure that all tasks related to an operation run to completion. This may involve resolving intermittent failures such as interrupted communication, temporary unavailability of remote resource and so on. In case of permanent failures; the application should restore the system to a consistent state and ensure integrity of end-to-end operation.
In the Actor programming model, an Actor can spawn other Actors. In such a scenario, the parent Actors are known as the supervisor and the Actors that it spawns are called subordinates. The subordinates carry out individual tasks of an operation that the supervisor is assigned to perform. The hierarchy may extend to deeper levels, that is, a subordinate may further delegate tasks to its subordinates...