SpringCloud服務間呼叫:負載均衡策略調整
阿新 • • 發佈:2018-11-01
比如我建立的一個訂單服務: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
(權重策略,服務的平均響應時間越短,權重越高,被選中的概率越高)