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容器中即可