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