SpringCloud服务间调用:负载均衡策略调整

比如我创建的一个订单服务:order-service,

要调用我的商品服务product-service里面的接口,默认使用轮询的负载均衡策略

现在我要使用随机分配,如何操作呢?

 

1.order-service的配置文件application.yml里面修改配置即可:

要指定调用的服务名称product-service

RandomRule为随机分配,更多策略参考:https://blog.csdn.net/u012702547/article/details/77978845

server:
  port: 8781


#指定注册中心地址
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

#服务的名称
spring:
  application:
    name: order-service

#自定义负载均衡策略,随机分配
#调用的服务名称为product-service(怕名字错误可直接看注册中心名字)
product-service:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

 

2.自定义负载均衡策略官方文档:http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#_customizing_the_ribbon_client_by_setting_properties

3.注意:

  策略选择:
        1、如果每个机器配置一样,则建议不修改策略 (推荐)
        2、如果部分机器配置强,则可以改为 WeightedResponseTimeRule

    (权重策略,服务的平均响应时间越短,权重越高,被选中的概率越高)

  

posted @ 2018-11-01 11:46  天天大傻猫  Views(1627)  Comments(0Edit  收藏  举报