Ribbon、Feign和OpenFeign的區別


Spring Cloud 微服務架構學習記錄與示例                                                                                                               

Ribbon

Ribbon 是 Netflix開源的基於HTTP和TCP等協議負載均衡組件

Ribbon 可以用來做客戶端負載均衡,調用注冊中心的服務

Ribbon的使用需要代碼里手動調用目標服務,請參考官方示例:https://github.com/Netflix/ribbon

Feign

Feign是Spring Cloud組件中的一個輕量級RESTfulHTTP服務客戶端

Feign內置了Ribbon,用來做客戶端負載均衡,去調用服務注冊中心的服務。

Feign的使用方式是:使用Feign的注解定義接口,調用這個接口,就可以調用服務注冊中心的服務

Feign支持的注解和用法請參考官方文檔:https://github.com/OpenFeign/feign

Feign本身不支持Spring MVC的注解,它有一套自己的注解

OpenFeign

OpenFeign是Spring Cloud 在Feign的基礎上支持了Spring MVC的注解,如@RequesMapping等等。
OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,
並通過動態代理的方式產生實現類,實現類中做負載均衡並調用其他服務。

需要注意:@RequesMapping不能在類名上與@FeignClient同時使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM