【发布时间】:2011-03-11 03:40:28
【问题描述】:
我想用 Erlang 写一个主从应用程序。我正在考虑架构中需要的以下内容:
master 死掉时 slave 不应该死掉,而是在 master 宕机时尝试重新连接它
如果远程节点没有自动连接或关闭,master 应该自动启动远程节点(可能是OTP 中的主管行为)
是否有面向 OTP 的行为来执行此操作?我知道我可以使用slave:start_link() 启动远程节点,我可以使用erlang:monitor() 监控节点,但我不知道如何将其合并到gen_server 行为中。
【问题讨论】:
-
函数 erlang:monitor_node/2 和 erlang:monitor_node/3 也可用。
-
您看到分布式应用程序部分了吗? erlang.org/doc/design_principles/distributed_applications.html
-
我们需要一些明确的术语。您想将您的应用程序分布在多个 erlang 虚拟机上(即运行多个 node())还是要构建一个容错的进程树?您的问题并不完全清楚。
标签: erlang distributed-computing erlang-otp master-slave