什么是Round Robin?

先来看和他相近的名词,轮询调度算法(Round-Robin Scheduling)

轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。

算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

轮询调度算法流

  假设有一组服务器N台,S = {S1, S2, …, Sn},一个指示变量i表示上一次选择的服务器ID。变量 i 被初始化为N-1。其算法如下:

import java.util.concurrent.atomic.AtomicInteger;public class RoundRobin2 {/*** 线程安全的*/private final static AtomicInteger next = new AtomicInteger(0);private int select(int S[]) throws Exception {if (S == null || S.length == 0)throw new Exception("exception");else {return S[next.getAndIncrement() % S.length];}}public static void main(String args[]) throws Exception {int S[] = {0, 1, 2, 3, 4};RoundRobin2 roundRobin2 = new RoundRobin2();for (int i = 0; i < 10; i++) {System.out.println(roundRobin2.select(S));}}
}

轮询算法的缺点

轮询调度算法假设所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,轮询调度算法容易导致服务器间的负载不平衡。

所以此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。

Round Robin 算法相关推荐

  1. Round Robin算法的简单C#实现

    整理笔记的时候,发现自己在项目中还用C#实现过一次Round Robin算法算法,当时的应用场景,是要根据权重给多个队列均匀的提供数据,对输入的数据进行拆分处理.算法很简单,最核心的部分,其实是取最大 ...

  2. 仲裁器设计(二)-- Round Robin Arbiter 轮询调度算法

    作者:李虹江 原文:https://mp.weixin.qq.com/s/r-nckE5nGz9mc5KqjPXKYg 本文授权转自IC加油站微信号,未经作者授权,严禁二次转载. 上一篇老李讲了固定优 ...

  3. round robin权重轮循算法实现

    为什么80%的码农都做不了架构师?>>>    先上代码,采用php脚本语言 <?php/* * Copyright (C) FatHong*//* 数据初始化,weight: ...

  4. 负载均衡算法--轮询法(Round Robin)

    在分布式系统中,为了实现系统的高性能.高并发.高可用,在构架中都会进行负载均衡设计,它是分布式系统的核心和中枢,负载均衡的好坏直接影响着整个系统的性能.负载均衡分为软件均衡和硬件均衡两类,比如apac ...

  5. 负载均衡算法--加权轮询法(Weight Round Robin)

    接上一篇博文:负载均衡算法–轮询法(Round Robin),本文讲解加权轮询算法. 加权轮询算法:不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同.给配置高.负载低 ...

  6. Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n

    负载均衡的概念: Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法. 我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务 ...

  7. 【数字IC/FPGA】仲裁器进阶--Round Robin Arbiter

    Round Robin Arbiter 固定优先级的缺点是:每个模块的优先级自始至终是固定不变的,这在某种程度上来说是不公平的,Round Robin就是考虑到公平性的一种仲裁算法.其基本思路是,当一 ...

  8. Round robin

    本篇文章先讲述轮询调度算法 (Round-Robin)及其在此基础上改进型的权重轮询算法 (Weighted Round-Robin). 轮询调度算法(Round-Robin Scheduling) ...

  9. Round Robin 概念理解

    什么是Round Robin? 先来看和他相近的名词,轮询调度算法(Round-Robin Scheduling) 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N ...

最新文章

  1. hadoop生态搭建(3节点)
  2. snap安装指定版本的软件
  3. 2.Spring Cloud Alibaba教程:Linux安装Nacos1.3.1以及配置MySQL持久化
  4. 通过系统回顾的方法来发展循证的管理知识*。
  5. 关于驰骋表单引擎中字段扩展设置对文本框Pop窗体返回值的升级说明 2012/11/13...
  6. 【学习笔记】浅谈广义矩阵乘法——动态DP
  7. php如何解决报错,php 启动报错如何解决_PHP教程
  8. 国家游泳中心诚聘CV算法开发人员~待遇优福利厚
  9. sqlite for linux 可视化数据管理工具
  10. @codeforces - 553E@ Kyoya and Train
  11. WPF/Silverlight中MVVM运用
  12. 数据样本过大 数据维度过大:用户名做一个聚类2.可以将时间分段,达到降维的效果
  13. 源码提供!Android即时通讯和sns开源项目汇总
  14. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构 1
  15. iai控制器服务器ON信号,IAI 直角坐标机械手 IAIssel控制器
  16. 一步一步教你写股票走势图——分时图一(概述)
  17. 微星GT60笔记本升级1060显卡案例
  18. DRM in Android详解
  19. 1亿条数据批量插入 MySQL,哪种方式最快
  20. 2022-忙碌的一年

热门文章

  1. 基于 RT-Thread赛车控制算法开发
  2. 2021年春季学期-信号与系统-第八次作业参考答案-第十二小题
  3. 直播预告|灵动MM32 MCU助力全国大学生智能汽车竞赛——基础培训第二讲
  4. 2021年春季学期-信号与系统-第六次作业参考答案-第七小题
  5. 单轴步进驱动模块SH-20403
  6. 拔最多的鹅毛,听最少的鹅叫
  7. Linux卸载unity,你如何删除Unity?
  8. css媒体查询标准,CSS 媒体查询 - 实例
  9. android ui 最新教程,Android更新UI的五种方式,androidui五种
  10. jenkins 手动执行_Jenkins(一)