Erlang 容错(据我所知)包括使用主管进程来监视工作进程,因此如果一个工作进程死亡,主管可以启动一个新进程。
Erlang 如何进行这种监控,尤其是在分布式场景中?如何确定进程真的死了?它会心跳吗?运行时环境中是否内置了某些东西?如果拔下网线怎么办 - 如果无法与其他进程通信,它是否假定其他进程已经死亡?等等
我正在考虑如何在 JVM(比如 Java 或 Scala)中实现 Erlang 所声称的相同的容错性等。但我不确定它是否需要 JVM 内置的支持才能和 Erlang 一样。尽管作为比较点,但我还没有遇到过 Erlang 是如何做到这一点的定义。