Erlang负载均衡器

Erlang负载均衡器,erlang,distributed,Erlang,Distributed,负载平衡器必须知道所有节点。客户端将与负载平衡器接口,负载平衡器然后将每个任务交给节点 如果客户端总是访问同一个(单个)负载平衡器,怎么可能没有单点故障?您不能有两个负载平衡器,否则客户端如何知道要连接到哪一个 对于设计的某些部分,您无法避免单点故障,这是可以接受的吗?将多个负载平衡器作为高可用性解决方案的一部分是非常常见的,并且负载平衡器不需要是单点故障。例如,负载平衡器可以放置在它们之间浮动的单个虚拟IP地址后面。如果一个下降,IP浮动到另一个接管。客户端只知道它始终连接到的单个虚拟IP 如

负载平衡器必须知道所有节点。客户端将与负载平衡器接口,负载平衡器然后将每个任务交给节点

如果客户端总是访问同一个(单个)负载平衡器,怎么可能没有单点故障?您不能有两个负载平衡器,否则客户端如何知道要连接到哪一个


对于设计的某些部分,您无法避免单点故障,这是可以接受的吗?

将多个负载平衡器作为高可用性解决方案的一部分是非常常见的,并且负载平衡器不需要是单点故障。例如,负载平衡器可以放置在它们之间浮动的单个虚拟IP地址后面。如果一个下降,IP浮动到另一个接管。客户端只知道它始终连接到的单个虚拟IP


如果客户机是Erlang节点,并且通过Erlang消息传递进行通信(在提供答案的第一部分时忽略了这一点),则可以将负载平衡进程设置为属于进程组(pg2)并通过此路由。这将允许多个负载平衡器共享负载。如果所有请求都必须通过单个进程进行路由,则可以将一个进程注册为全局进程,并在其他节点上部署相同的进程作为备份。这些备份需要监控全局服务,并在全局进程丢失时接管。

如果我找不到您的确切意思,请您再详细说明一下,谢谢。我已经查过您的东西了。我在问如何针对erlang做到这一点,但感谢你的链接-抱歉,我错过了标签,你在帖子中没有提到erlang-我的错。我的erlnag-foo仍然很弱(我目前正在努力学习),但这可能会有帮助吗?不,不是。设置虚拟IP是系统管理/网络配置。@Christiandalqvist阅读评论-这是一个特定于erlang的问题;我第一次也忽略了这一点,并发表了类似的评论。Erlang有内置的网络,进程分布在节点之间-他说的是Erlang进程(负载平衡器),而不是网络/IP负载平衡器。我看到这被列为Erlang问题,但根据我的经验,这通常不是在应用程序级别处理的,而是通过网络配置处理的,这就是我试图描述的。它是。。。不一样。erlang中的负载平衡器是一个从其他erlang进程接收消息的进程,然后将它们负载平衡到本地和远程运行的一组其他erlang进程。这更像是使用中间件,其中一个队列平衡到多个进程。您可以在一台机器(erlang VM)或多个节点上拥有所有这些功能。当客户端也是erlang节点且消息传递通过erlang消息传递时,是否会出现这种情况?