Skip to main content
 首页 » 编程设计

erlang中erlang 如何处理分布式网络

2025年01月19日122xing901022

更具体地说,erl 的核心是使用什么算法来了解其他节点的存在和可用性?它如何处理网络分区?所有节点都不断地相互 ping 吗?

例如,如果有两个节点,并且网络电缆被拉断,它如何决定做什么?据推测,一个节点应该处于空闲状态,因为它是孤立的,而另一个节点则继续运行,否则就会出现裂脑行为。

在阅读 paxos 和 raft 时,似乎它必须在内部进行领导者选举,但我似乎找不到任何可以理解的解释——我把我的博士学位留在了我的另一条裤子里..任何人都可以解释这个巫毒吗是英文吗?

请您参考如下方法:

我也有同样的问题here得到的答复是 this very good article您可以在其中找到您的问题的详细解释。主要思想是:分布式模式的Erlang节点通过网状网络连接。它们通过在 net_tick_time 常量决定的时间段内完成的 ping 来相互监视。 Ping 用于检测网络 split 或无法通信的停止节点。其他故障(例如虚拟机崩溃、电缆拔出)可通过底层网络连接立即(几毫秒内)检测到。