spring cloud的Netflix中提供了兩個組件實現軟負載均衡調用:ribbon和feign。
Ribbon
是一個基於 HTTP 和 TCP 客戶端的負載均衡器
它可以在客戶端配置 ribbonServerList(服務端列表),然后輪詢請求以實現均衡負載。
Feign
Spring Cloud Netflix 的微服務都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去調用,而 Feign 是一個使用起來更加方便的 HTTP 客戶端,使用起來就像是調用自身工程的方法,而感覺不到是調用遠程方法。
注意:spring-cloud-starter-feign 里面已經包含了 spring-cloud-starter-ribbon(Feign