最近重温了下nginx,看到负载均衡调度算法默认是 round robin,也就是轮询调度算法。
算法本身很简单,轮着一个一个来,非常简单高效公平的调度算法。
突然发现了一直被忽视的问题,为啥叫 round robin ?
robin 明明是旅鸫,亦称美洲知更鸟,与轮询一点关系都没有。在查询资料后发现这个单词来源挺有意思的,这里分享给大家。
round robin 来源于法语ruban rond(round ribbon),意思是环形丝带。
在17、18世纪时法国农民希望以请愿的方式*国王时,通常君主的反应是将请愿书中最前面的两至三人逮捕并处决,所以很自然地没有人希望自己的名字被列在前面。为了对付这种专制的报复,人们在请愿书底部把名字签成一个圈(如同一条环状的带子),这样就找不出带头大哥,于是只能对所有参与者进行同样的惩罚。
1731年,英国皇家海军最初使用了这个名词,以循环顺序签署请愿书,这样就没法找到带头大哥了。
非常贴切有木有,后端服务器轮着来处理请求,一个个都不要抢,都要出来接受处决。
转载自:为什么轮询调度算法称为 Round Robin ? - 知乎 (zhihu.com)