feign其實不是做負載均衡的,負載均衡是ribbon的功能,feign只是集成了ribbon而已,但是負載均衡的功能還是feign內置的ribbon再做,而不是feign。
feign的作用的替代RestTemplate,性能比較低,但是可以使代碼可讀性很強。
ribbon的負載均衡策略,默認的常見有隨機規則,輪詢規則,權重規則
隨機不用說,輪詢也不用說,權重意思是,請求時間越久的server,其被分配給客戶端使用的可能性就越低。
ribbon也可以自定義策略。具體方法包括:
方法1.實現IRule接口
方法2.集成AbstractLoadBalancerRule 、PredicateBasedRule。
只要在配置中自動注入自定義的策略bean就可以
當然你也可能會向使用配置的方式而非代碼方式。
但是記住,配置方式優先級要大於代碼方式。