您的位置 首页 > 数码极客

负载均衡如何实现web负载均衡如何实现…

轮询(Round Robin)法

1.获取ip列表

2.根据ip在list的中pos顺序获取,server = keyLi(pos);(使得同一时刻只能有一个线程可以修改pos的值)

随机(Random)法

1.获取ip列表

2.Random的nextInt方法取0~keyLi()区间的一个随机值 int randomPos = random.nextInt(keyLi());

源地址哈希(Hash)法

获取客户端访问的IP地址值,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是要访问的服务器的序号,结果便是选用的服务器在服务器列表中的索引值。

1.获取远程ip,计算hash值

2.取模计算该hash值得pos 序列号(保证了相同客户端IP地址将会被哈希到同一台后端服务器)

加权轮询(Weight Round Robin)法

在获取服务器地址之前增加了一段权重计算的代码,根据权重的大小,将地址重复地增加到服务器地址列表中,权重越大,该服务器每轮所获得的请求数量越多。

1.根据权重比例重复添加到ip列表中

for (int i = 0; i < weight; i++)

(server);

2.按照pos轮询列表。server = serverLi(pos);

加权随机(Weight Random)法

原理同加权和随机一样

1.1.根据权重比例重复添加到ip列表中

for (int i = 0; i < weight; i++)

(server);

2.int randomPos = random.nextInt(serverLi());

最小连接数(Least Connections)法

以后端服务器的视角来观察系统的负载,而非请求发起方来观察。

根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前请求,尽可能地提高后端服务器的利用效率,将负载合理地分流到每一台机器。

1.需要后端服务器定时上报连接情况

2.根据连接情况选择最小连接

更多内容请关注每日编程,每天进步一点。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“负载均衡如何实现,web负载均衡如何实现,负载均衡如何实现高可用,负载均衡是如何实现的,服务器负载均衡如何实现”边界阅读