Ribbon
Ribbon 是 Netflix 開源的基于HTTP和TCP等協定負載均衡元件
Ribbon 可以用來做用戶端負載均衡,調用注冊中心的服務
Ribbon的使用需要代碼裡手動調用目标服務
Feign
Feign是Spring Cloud元件中的一個輕量級RESTful的HTTP服務用戶端
Feign内置了Ribbon,用來做用戶端負載均衡,去調用服務注冊中心的服務
Feign的使用方式是:使用Feign的注解定義接口,調用這個接口,就可以調用服務注冊中心的服務
Feign本身不支援Spring MVC的注解,它有一套自己的注解
OpenFeign
OpenFeign是Spring Cloud 在Feign的基礎上支援了Spring MVC的注解,如@RequesMapping等等
OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口
并通過動态代理的方式産生實作類,實作類中做負載均衡并調用其他服務