Round Robin 轮叫调度
来源:互联网 发布:现代h6行车记录仪软件 编辑:程序博客网 时间:2024/05/17 01:46
轮叫调度(Round-Robin Scheduling)
轮叫调度(Round Robin Scheduling)算法就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。
在系统实现时,我们引入了一个额外条件,当服务器的权值为零时,表示该服务器不可用而不被调度。这样做的目的是将服务器切出服务(如屏蔽服务器故障和系统维护),同时与其他加权算法保持一致。所以,算法要作相应的改动,它的算法流程如下:
轮叫调度算法流程
假设有一组服务器S = {S0, S1, …, Sn-1},一个指示变量i表示上一次选择的
服务器,W(Si)表示服务器Si的权值。变量i被初始化为n-1,其中n > 0。
j = i;
do {
j = (j + 1) mod n;
if (W(Sj) > 0) {
i = j;
return Si;
}
} while (j != i);
return NULL;
轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。该算法相对简单,不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容易导致服务器间的负载不平衡。
虽然Round-Robin DNS方法也是以轮叫调度的方式将一个域名解析到多个IP地址,但轮叫DNS方法的调度粒度是基于每个域名服务器的,域名服务器对域名解析的缓存会妨碍轮叫解析域名生效,这会导致服务器间负载的严重不平衡。这里,IPVS轮叫调度算法的粒度是基于每个连接的,同一用户的不同连接都会被调度到不同的服务器上,所以这种细粒度的轮叫调度要比DNS的轮叫调度优越很多。
0 0
- Round Robin 轮叫调度
- 轮叫调度(Round-Robin Scheduling
- 加权轮叫调度(Weighted Round-Robin Scheduling)
- lvs 轮叫调度(Round-Robin)算法 源码分析
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling)
- Round-robin 轮询调度详解
- 权重轮询调度算法(Weighted Round-Robin Scheduling)
- 轮询调度算法(Round-Robin Scheduling) 和 权重轮询调度算法(Weighted Round-Robin Scheduling)
- RR调度(Round-robin scheduling)简介
- Round Robin
- Round robin
- Round-robin
- BIO,NIO,AIO的理解
- 山东省赛题 NEU OJ 1444 线段树双标记
- ubuntu 从桌面登录切换回文本登录
- UVA 10271 Chopsticks
- VC中置顶窗口的方法
- Round Robin 轮叫调度
- C语言,模拟命名空间的方法
- Thinkphp中eq,neq,gt,lt等表达式缩写
- UVA1339- Ancient Cipher
- HDU 2031 进制转换
- too many open files的处理方法
- 刘颖:打造高质量的云服务
- HDU1698_Just a Hook
- Python Tkinter 事件和映射