目前分布式系统负载均衡算法主要分为两类:
一、静态负载均衡算法:以固定的概率分配任务,不考虑服务器的状态信息,如:轮询法、加权轮询法、随机法、加权随机法等。
1.轮询(Round Robin):将客户端请求按顺序发送到不同的服务实例。服务通常需要是无状态的。
2.粘性轮询(Sticky Round Robin):是轮询算法的改进版本。如果Alice的第一个请求发送到服务A,则以下请求也发送到服务A。
3.权重轮询(Weighted Round Robin):管理员可以为每个服务指定权重。权重更高的服务处理的请求更多。
4.散列(Hash):该算法对传入请求的IP或URL应用哈希函数。根据哈希函数结果,将请求路由到相关实例。
5.随机法
6.加权随机法
二、动态负载均衡算法:以服务器的实时负载状态信息来决定任务的分配,如:最小连接法、加权最小连接数法等。
1.最少连接数(Least Connections):将新的请求发送到同时连接最少的服务实例。
2.最短响应时间(Least Response Time):将新的请求发送到响应时间最快的