Erlang负载均衡器

时间:2012-10-24 19:25:03

标签: erlang distributed

负载均衡器必须知道所有节点。客户端将与负载均衡器连接,然后负载均衡器将每个任务分配给节点。

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

对于设计的某些部分,您是否可以接受单点故障?

1 个答案:

答案 0 :(得分:6)

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

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