springboot的负载均衡

springboot的负载均衡

eueka作为注册中心
负载均衡使用的是Ribbon
Ribbon负载均衡的策略有轮询,重试,权重。默认轮询,这是它独特的算法去调用具体的服务。

在消费者启动动类中加上
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
上面我们提到了他的不同策略,那我们如何修改或者配置呢

服务名称 + ribbon +NFLoadBalancerRuleClassName: +策略
例如
demo-goods:
ribbon:
# 基于配置文件形式的 针对单个服务的 Ribbon 负载均衡策略
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

下面这个是重试策略的配置

针对单个服务的 Ribbon 配置

demo-goods:
ribbon:
# 基于配置文件形式的 针对单个服务的 Ribbon 负载均衡策略
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
# http建立socket超时时间,毫秒
ConnectTimeout: 2000
# http读取响应socket超时时间
ReadTimeout: 10000
# 同一台实例最大重试次数,不包括首次调用
MaxAutoRetries: 0
# 重试负载均衡其他的实例最大重试次数,不包括首次server
MaxAutoRetriesNextServer: 2
# 是否所有操作都重试,POST请求注意多次提交错误。
# 默认false,设定为false的话,只有get请求会重试
OkToRetryOnAllOperations: true

你可能感兴趣的:(springcloud,springboot,微服务)