查看OTP的文档,似乎设置这些系统的典型方法是让一个主管监控多个工作人员:
http://www.erlang.org/doc/design_principles/sup_princ.html
这将很有效,直到运行主管的机器崩溃或与工人的机器切断。那么有没有理由没有几个主管,比如每台机器一个?
答案 0 :(得分:3)
以下是如何在一台计算机上设置OTP应用程序:
有两个-behavior(application)
件正在运行。每个都有一个顶级-behavior(supervisor)
模块。在其他监督人员的监督下组建监督树并不罕见。
监督树非常适合管理员工,但面对机器故障时的高可用性是一个单独的问题。你可以把一个主管放在机器上监督其他机器上的工人,但如果主管机器发生故障,你仍然会丢失整棵树。
对于这种HA行为,您需要一些外部系统来监视机器/ BEAM并重新启动发生故障的事情。根据您的系统,您可能需要编写代码来查找并与其对等方重新集群。这些东西都不像监管树那样从OTP中解脱出来。