gpt4 book ai didi

erlang - 启动远程 Erlang 节点

转载 作者:行者123 更新时间:2023-12-04 04:36:09 33 4
gpt4 key购买 nike

我想用 Erlang 写一个主从应用程序。我正在考虑架构中需要的以下内容:

  • 当主节点死亡时,从节点不应该死,而是在主节点关闭时尝试重新连接到它
  • 如果远程节点未自动连接或已关闭(可能是 OTP 中的主管行为),则主节点应自动启动远程节点

  • 是否有面向 OTP 的行为来执行此操作?我知道我可以用 slave:start_link() 启动远程节点我可以使用 erlang:monitor() 监控节点,但我不知道如何将其合并到 gen_server 中行为。

    最佳答案

    我同意关于使用 erlang:monitor_node 和使用分布式应用程序的评论。

    您不能仅使用从模块来完成此操作,它明确指出“由主节点启动的所有从节点将在主节点终止时自动终止”。

    目前也没有 OTP 行为可以做到这一点。监督树是分层的;似乎您正在寻找在应用程序逻辑方面存在层次结构的东西,但产卵是在对等的基础上(或个人基础,取决于您的观点)完成的。

    如果您要使用多个 Erlang VM,那么您应该仔细考虑您运行的数量,因为它们中的大量可能会由于操作系统交换操作​​系统进程而导致性能问题。获得最佳性能的经验法则是每个 CPU 内核的目标是不超过一个 OS 进程(即一个 Erlang VM)。

    关于erlang - 启动远程 Erlang 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166749/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com