5 ms·
I don't know if that's true. In the Scala and Java worlds, a library called Akka provides distributed actors as a library. As far as I know, what you describe i
by acjohnson55 5y ago
I don't know if that's true. In the Scala and Java worlds, a library called Akka provides distributed actors as a library. As far as I know, what you describe isn't a limitation. See https://doc.akka.io/docs/akka/2.5.32/general/supervision.html#what-lifecycle-monitoring-means https://doc.akka.io/docs/akka/2.5.32/general/supervision.htm...
- dmitriid 5y agoIt is a limitation. If the VM on the other machine is killed, or kills the thread, you'll never know that happened, and why. Well, you can probably ping the process and what not :) Compare Erlang's error handling and monitors: https://erlang.org/doc/reference_manual/processes.html#error-handling https://erlang.org/doc/reference_manual/processes.html#error...
- acjohnson55 5y agoI would assume Erlang is doing some type of heartbeat at the runtime level. You can always do this in your protocol if you absolutely need to. I know that in Akka Cluster, you configure this to set the rules for a node to be considered alive in the cluster, and if it's dead, all the actors hosted on it will be considered dead, too. In a distributed system, I'm pretty certain you cannot guarantee receipt of an expected message, no matter what you try to do.