主流负载方案
- 集中式负载均衡:在消费者和服务者中间使用独立的代理方式进行负载,有硬件(如F5)、也有软件(如Nginx)
- 客户端根据自己的请求做负载均衡,拉取到服务列表后自己选择(如Ribbon)
常见负载算法
- 随机
- 轮询
- 加权轮询
- 地址Hash
- 最小连接数
改所有负载策略
@Configuration
public class RibbonConfig {
@Bean
public IRule iRule() {
return new RandomRule();
}
}
注意:需要放在启动类扫描不到的地方
能使用的策略可以看实现类
开启方式:在主启动类上配置
@RibbonClients(value = {@RibbonClient(name = "stock-service", configuration = RibbonConfig.class)})
指定哪个服务用哪种策略