几种常见的软件负载均衡的算法。

来源:互联网 发布:linux操作系统 编辑:程序博客网 时间:2024/04/29 02:08

主要的几种负载均衡的算法都在nginx里面有用到,下面这篇文章对这几种算法介绍比较详细,请参考。

http://baidutech.blog.51cto.com/4114344/1033718


文中提到了几种常见的软件负载均衡的算法,平均分配(轮询),加权轮询;ip hash;fair(最小值负载均衡)这里需要提到一点,笔者曾见到过一位同事分析采用这个最小值负载均衡算法可能产生抖动,由于机器上报延迟产生,同时上文中也提到了“这种策略具有很强的自适应性,但是实际的网络环境往往不是那么简单,因此要慎用。”;通用hash,一致性hash(扩容比较方便);随机分配。

其中笔者的一位同事就是采用的带权值的随机负载均衡的算法:每个机器的空闲率[0.01,1) 1 - 实际请求量/机器负载能力;然后将所有机器的空闲率相加和S,随机产生一个[0.01,1)的数R;得到D=S*R;用D依次减去每台机器的空闲率直到D < 0那么就选中这台机器;这种方法比前面最小值负载均衡的算法要平缓。


除了nginx还有两种常用的负载均衡的软件LVS 和 HAProxy

三种软件所用的中转模式总结请见文章:

http://blog.csdn.net/wuqingaixue/article/details/46712105#

三种负载均衡软件的优缺点请见文章:

Nginx/LVS/HAProxy负载均衡软件的优缺点详解


http://www.ha97.com/5646.html


0 0
原创粉丝点击