负载均衡算法
负载均衡有效的几种算法和实现方式
轮询(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 记录每台机器请求数,取最少的。