在大型网络架构上,负载均衡有多种方式,而负载均衡算法有有很多种,我们今天讲一下负载均衡算法之轮询法和加权轮询。
轮询法(Round Robin)
轮询法基本上是最简单的负载均衡算法,基本思路就是对所有的服务器节点按顺序分配,每个服务器的概率是等同的,这种情况适合于服务器的性能等指标一样的情况。
加权轮询法
在轮询基础上,我们对每个服务器加了权重比利,每个服务器是有高低贵贱之分的,性能强劲的服务器的权重就高一些,性能弱的权重就小一些,下面我们就贴上加权平均的测试算法
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
typedef struct
{
int weight;
char name[2];
}server;
int getsum(int *set, int size)
{
int i = 0;
int res = 0;
for (i = 0; i < size; i++)
res += set[i];
return res;
}
int gcd(int a, int b)
{
int c;
while(b)
{
c = b;
b = a % b;
a = c;
}
return a;
}
int getgcd(int *set, int size)
{
int i = 0;
int res = set[0];
for (i = 1; i