http://www.javashuo.com/article/p-zcycxxup-cw.html負載均衡
Feign的源碼實現的過程以下:.net
首先經過@EnableFeignCleints註解開啓FeignCleint代理
根據Feign的規則實現接口,並加@FeignCleint註解blog
程序啓動後,會進行包掃描,掃描全部的@ FeignCleint的註解的類,並將這些信息注入到ioc容器中。接口
當接口的方法被調用,經過jdk的代理,來生成具體的RequesTemplateget
RequesTemplate在生成Request源碼
Request交給Client去處理,其中Client能夠是HttpUrlConnection、HttpClient也能夠是Okhttpio
最後Client被封裝到LoadBalanceClient類,這個類結合類Ribbon作到了負載均衡。
容器