前提,服务器是多个,数组方式存在,hashcode取模方式负载均衡,当某个 service出现故障时的快速失败转移策略。
1.N+1模式
N个正常运行的服务器,1个备份服务器。类似心跳检测,当某个服务器的方法无法调用时,从数组中将其替换为备份是服务器,是n对1模式,优点是替换简便,缺点是始终留一个冷备。如果同时坏两个的时候不好处理。还有切换之后待故障service恢复之后的切换回。可以采取类似浮动ip模式以抢ip的方式来进行切换。
2.rehash模式
N个正常运行的服务器,无备份。类似心跳检测,当某个service的方法无法调用时。将按取模落在该服务器上的请求,重新hash,将其分散到另外N-1个Service上。如果再坏一个,就rehash到剩下的N-2个。缺点是算法复杂,优点是无需冷备。不浪费资源