说一说负载均衡算法

    负载均衡算法能够分为两类:静态负载均衡算法,基于服务器的容量,就是高配置的服务器比低配置的服务器分配更多的请求;动态负载均衡算法根据服务器的情况,好比经过监控能够获得平均响应时间,或者CPU占用率,内存占用率按照某种方式进行计算,做为权重值git

静态负载均衡算法github

随机(Random):利用随机数生成算法选取一个服务器,而后把链接发送给他。虽然许多负载产品都支持该算法,可是它的有效性一直受到质疑,除非把服务器的可运行时间看的很重。算法

轮询(Round Robin):按顺序把每一个新的链接请求分配给下一个服务器,最终把全部请求平分给全部服务器。轮询算法在大多数状况下都工做不错,可是若是负载均衡的设备在处理速度、链接速度和内存等方面不是彻底均等,那么效果会打折扣服务器

加权轮询(Weighted Round Robin):在该算法中每台服务器的链接数量是按权重比例分配的。它是对普通轮询算法的改进网络

优先权(Priority):给全部的服务器分组,每组都定义优先权,把请求优先分配给优先级最高的服务器组(同一组内,采用轮询或加权轮询来分配请求);当最高优先级组中的全部服务器都出现故障时,才把请求发送给次优先级的服务器组。负载均衡

动态负载均衡算法dom

动态轮询(Dynamic Round Robin):相似于加权轮询,可是权重值是基于各个拂去其的持续监控,而且不断更新的。根据服务器的实时性能分析来分配请求。性能

最少的链接(Least Connection):系统把新的请求分配给当前链接数目最少的服务器。该算法在各个服务器运算能力基本相似的环境中很是有效。blog

最快算法(Fastest):最快算法基于全部服务器中响应时间最快的给分配链接。该算法在服务器跨不一样网络的环境中特别有用。内存

观察算法(Observed):该算法同时利用最小链接算法和最快链接算法来实施负载均衡。服务器根据当前的链接数和相应时间获得一个分数,分数越高表明性能越好,分配的链接也就越多。

预判算法(Predictive):该算法使用观察算法来计算分数,可是它会分析分数的变化趋势来判断某台服务器的性能,是正在改善仍是下降,具备改善趋势的服务器会获得更多的链接。该算法适用于大多数环境。

说完上面的概念后,就要实践了,在这里实现一个加权轮询负载均衡算法

image

最后,代码下载

相关文章
相关标签/搜索