比如我創建的一個訂單服務: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
(權重策略,服務的平均響應時間越短,權重越高,被選中的概率越高)