几种常见的软件负载均衡的算法。
2015-07-01 16:58
666 查看
主要的几种负载均衡的算法都在nginx里面有用到,下面这篇文章对这几种算法介绍比较详细,请参考。
/article/4286301.html
文中提到了几种常见的软件负载均衡的算法,平均分配(轮询),加权轮询;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
/article/4286301.html
文中提到了几种常见的软件负载均衡的算法,平均分配(轮询),加权轮询;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
相关文章推荐
- 测试用例设计——边界值法
- 30分钟LINQ教程
- strcpy 一题
- Android自动化测试(UiAutomator)简要介绍
- 初识Volley的基本用法
- swift实作app 交流分項十(動畫特效)
- 函数式编程初探
- Android 图片在SD卡及包下的存储
- 邓白氏编码官方查询地址
- do{}while(0)宏的作用的定义
- 摘录-IT企业必读的200个.NET面试题-03 .NET类型语法基础
- 安装 NoMachine(NX) client and server
- 简单理解AOP(面向切面编程)
- 《算法导论》 — Chapter 8 线性时间排序
- Delta extraction for 0FI_GL_04 for every 30 minutes
- MVC快速入门
- Android中间向两端,两端向中间并发前进的进度条,Android自定义ProgressBar进度条
- LNMP 1.2
- 原生JS 表单提交验证器
- Python 魔术方法及调用方式