面试题答案
一键面试轮询(Round Robin)
- 工作原理:按顺序依次将请求分配到各个副分片节点。就像依次叫号一样,先将第一个请求分配给第一个副分片节点,第二个请求分配给第二个副分片节点,依此类推。当到达最后一个副分片节点后,又从第一个节点开始新一轮分配。这种策略简单直观,不考虑节点的性能差异等因素,平等对待每个副分片节点。
基于权重的负载均衡
- 工作原理:为每个副分片节点分配一个权重值,该权重值代表节点的处理能力。比如性能高的节点权重设置得高,性能低的节点权重设置得低。负载均衡器在分配请求时,根据节点的权重比例来分配。例如有三个副分片节点A、B、C,权重分别为3、2、1。那么每6个请求中,大约会有3个请求被分配到节点A,2个请求被分配到节点B,1个请求被分配到节点C。具体实现时,可能会维护一个权重队列,每次从队列中选择权重最高的节点来处理请求,当节点处理完请求后,其权重值会相应减少,当权重值减到一定程度后重新调整权重,以保证整体的均衡分配。
最少连接数(Least Connections)
- 工作原理:负载均衡器会跟踪每个副分片节点当前正在处理的连接数,将新的请求分配给当前连接数最少的副分片节点。这样做的依据是,连接数少的节点相对负载较轻,更有能力处理新的请求。例如,当有新的搜索请求进来时,负载均衡器查看各个副分片节点的连接数,将请求发送给连接数最少的那个节点,从而使各个节点的负载尽量保持均衡。