Solving remote supervision with ShadowSupervisor
When supervisor and child do not reside on the same node, the following solution is proposed:
- take supervisor description from Props and send it to remote node
- create shadow supervisor on remote node with declared properties
- ShadowSupervisor will handle the normal case (i.e. successful restart within the given constraints) and send messages to the real supervisor in case of an unhandled exception or too many restarts.
This keeps normal restarts at low latency while enabling completely natural semantics across node boundaries.
- take supervisor description from Props and send it to remote node
- create shadow supervisor on remote node with declared properties
- ShadowSupervisor will handle the normal case (i.e. successful restart within the given constraints) and send messages to the real supervisor in case of an unhandled exception or too many restarts.
This keeps normal restarts at low latency while enabling completely natural semantics across node boundaries.
Leave a comment