服務消費者Feign和Ribbon的區別


1、Ribbon通過注解@EnableEurekaClient/@EnableDiscoveryClient向服務中心注冊;    PS:選用的注冊中心是eureka,那么就推薦@EnableEurekaClient,如果是其他的注冊中心,那么推薦使用@EnableDiscoveryClient

     Feign通過注解@EnableFeignClients向服務中心注冊

2、Ribbon沒有負載均衡功能,只能通過@Bean注入bean---RestTemplate,並通過注解@LoadBalanced開啟負載均衡功能;

     Feign默認集成了Ribbon,並和Eureka結合,默認實現了負載均衡的效果

3、Ribbon使用restTemplate.getForObject("http://服務名/.....")方法調用服務

   Feign可直接在接口上使用注解@ FeignClient(“服務名”)和方法上使用@RequestMapping(value = "/URL")來調用服務

4、Ribbon+斷路器,使用@HystrixCommand(fallbackMethod = "方法名")對方法創建熔斷器的功能,並指定了fallbackMethod熔斷方法

      Feign+斷路器,Feign自帶斷路器,只需要在接口上的注解@ FeignClient(value = “服務名”)加上fallback的指定類就行了,該類實現此接口並使用注解@Component注入到Ioc容器中即可


免責聲明!

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



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