服务消费者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