最近看了cnd加速相关,dns解析后,选择就近的cdn服务,然后下一步,就到了机房服务器的负载均衡。
说白了,就是一般说的加机器,没有加机器解决不了的,有,就再加一台。
当然,加了机器,就要合理分配
一般三种
1.ip哈希分配
这个 类似取模,有多少机器 这个摸就是多少,分配上来看是均衡的
2.轮询
这个意思就是,上次循环到那个,就往下推,一直推到第一个,可以理解为一个环
至于一致性哈希分配,和分布式高可用下的服务器选择,暂不讨论
3.带权轮询
有时候本来买的机器很好,但是加的机器没必要买那么好的,想按机器性能比例分配,所以就有了带权轮询
比如 主服务器和从服务器 是 3:1的性能比
public function getServer(){
$a +=1;
$b +=3;
if ($a >= $b){
$tar = $a;
$a-=1;
}else{
$tar = $b;
$b-=3
}
return $tar;
}
上面是个简单的伪代码,大致就是 爬楼梯
一个人每次爬三步,一个人每次爬一步,每次取走在最前面的人,这样就得到3:1的分配了