负载均衡算法随笔

来源:互联网 发布:淘宝店铺简约模板 编辑:程序博客网 时间:2024/05/16 16:12

对集群服务来说,负载均衡算法的重要性不言而喻,从算法实现复杂及可靠性的角度考虑,大致可分为三个层次

1. 盲狙
主要包括:
1)Hash法
根据某种hash算法将请求发往集群节点。
2)轮转法
顾名思义,将集群所有节点组成一个环形队列,服务请求顺序取队列中的服务节点服务。

2. 鸟狙
1)最少连接
记录每个服务节点的服务连接数,新服务请求发往当前最少连接数的服务节点
2)最少失败
记录每个服务节点服务失败次数,选择服务失败次数最少的机器
3)最快响应
记录每个服务节点的服务响应时间,将下一个服务请求分配给响应时间最短的节点。

3. 狙神
服务节点定时向服务中心汇报自身的机器状态(可以包括:正处理的请求数、cpu占用率、内存占用率、磁盘访问率等),服务中心综合各个服务节点的状态,计算服务节点的负载,将新服务请求发往负载最低的服务节点。

不求最贵,只求最好:)