常用负载均衡算法
来源:互联网 发布:java一般放在哪里 编辑:程序博客网 时间:2024/05/01 00:58
在服务器集群中,为了避免某一台服务器因过载而崩溃,除了每台服务器限定了最大连接数外,还对服务器的负载进行了均分。本文介绍了几个常见的负载均衡算法。
随机
通过随机数生成算法从服务器组中选取一个,然后把请求发送给它。
轮询
所有的服务器组成一个队列,不管连接数、响应时间,从队列首取出一个,然后放到队尾,不断循环。最终把所有的请求平均分给所有的服务器。适用于服务器性能差异不大的情况。
加权轮询
给每台服务器加一个权重值,高权重的服务器将被分配高比例的连接。假设有一组服务器S = {S0, S1, …, Sn-1},W(Si)表示服务器Si的权值,一个指示变量i表示上一次选择的服务器,指示变量cw表示当前调度的权值,max(S)表示集合S中所有服务器的最大权值,gcd(S)表示集合S中所有服务器权值的最大 公约数。变量i初始化为-1,cw初始化为零。
while (true) { i = (i + 1) mod n; if (i == 0) { cw = cw - gcd(S); if (cw <= 0) { cw = max(S); if (cw == 0) return NULL; } } if (W(Si) >= cw) return Si;} 此算法的思想是先把请求分配给高权重的机器,然后降低其权值,直到有一个机器的权值小于它,才把请求分配给权值第二大的机器。
最少连接
由于各服务器处理请求的时间不同,因此同一时刻各服务器的当前连接数都不同。此算法将到来的请求分配给当前连接数最少的服务器。处理速度越快的服务器将被分配到越多的连接。
哈希
可以用来hash的输入有很多,比如源IP地址,URL,cookie
参考
1、解析nginx负载均衡
2、加权轮叫调度(Weighted Round-Robin Scheduling)
转载:http://blog.lastww.com/2013/07/09/load-blance-algorithm/
0 0
- 常用负载均衡算法
- 常用负载均衡算法
- 负载均衡常用算法
- 负载均衡的常用算法
- 负载均衡的基本(常用)算法
- 负载均衡的基本(常用)算法
- 常用负载均衡技术
- 负载均衡常用方式
- 常用负载均衡技术
- 负载均衡--服务器集群负载均衡算法
- 负载均衡算法
- 负载均衡算法小结
- 负载均衡算法大全
- 负载均衡算法随笔
- 负载均衡算法随笔
- 负载均衡算法
- 负载均衡算法
- 负载均衡算法
- HTML 表单和输入
- Android 6.0新特性
- 大学C语言考点简析
- jstl相关jar包简介
- Android Studio 1.4 的那些折腾 - 最小 SDK 版本提示覆盖手机百分比
- 常用负载均衡算法
- Android入门:广播发送者与广播接收者
- ARM中断体系结构
- java常见面试题及答案 1-10
- 例10-12 *uva1637(概率dp)
- 红黑树的java实现
- #0
- prepareStatement用法和解释
- Error:Execution failed for task jdk1.8.0.25 exit with non zero exit value 2