负载均衡器必须知道所有的节点。客户端将与负载均衡器对接,然后负载均衡器将每个任务分配给节点。
如果客户端总是访问相同的(单个)负载均衡器,怎么可能没有单点故障?您不能有两个负载均衡器,否则客户端如何知道要连接到哪一个?
对于设计的某些部分,您不能避免单点故障,这是可以接受的吗?
发布于 2012-10-25 04:08:48
将多个负载均衡器作为高可用性解决方案的一部分是非常常见的,并且负载均衡器不需要成为单点故障。负载均衡器可以例如被放置在浮动于它们之间的单个虚拟IP地址之后。如果其中一个下降,IP漂移到另一个,它接管。客户端只知道它始终连接到的单个虚拟IP。
如果客户端是Erlang节点,并且通信是通过Erlang消息进行的(在提供答案的第一部分时没有提到这一点),那么您可以将负载平衡进程设置为属于一个进程组(pg2),并通过它进行路由。这将允许多个负载均衡器共享负载。如果所有请求都必须通过单个进程进行路由,则可以将一个进程注册为全局进程,并在其他节点上部署相同的进程作为备份。这些备份将需要监视全局服务,并在全局进程丢失时接管。
https://stackoverflow.com/questions/13056285
复制相似问题