负载均衡算法

负载均衡有效的几种算法和实现方式

轮询(RR)

Round-Robin :适用于每台机器都差不多的场景
实现方式:用一个计数器记录请求个数,取模机器数,命中对应机器

权重(WRR)

Weight-Round-Robin : 机器配置不均或者机器职责不同的场景
实现方式:比如2台机器,一台6,一台4
1-10 之间取随机数,1-6分配到 6 的机器,7-10 分配到4的机器

随机

random
实现方式:随机

hash(原地址散列)

Source hashing : 适用于需要保存session的场景,比如 发送IP是 a,那a的请求都打到同一台机器,可以缓存session
实现方式: 拿地址hash 取模,命中对应机器

最少请求连接

Least Request :请求会被转发到请求数最少的上游服务实例,此算法适用于后端服务器性能差不多,请求时间不一样的情况下使用
实现方式:用redis 记录每台机器请求数,取最少的。

你可能感兴趣的:(负载均衡,java,服务器)