Ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为。feign默认集成了ribbon。都是调用其他服务的,但方式不同。
启动类注解不同:Ribbon是@RibbonClient feign的是@EnableFeignClients
服务指定的位置不同:Ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClient声明。
调用方式不同:Ribbon需要自己构建http请求,模拟http请求然后使用RestTemplate发送给其他服务, 相当繁琐, Feign采用的是接口方式,将需要调用的其他服务的方法定义成抽象方法即可,
Fegin的优势
采用接口的方式, 只需要创建一个接口,然后在上面添加注解即可 ,将需要调用的其他服务的方法定义成抽象方法即可, 不需要自己构建http请求
Feign和Ribbon都是用于调用微服务的工具,但它们在使用上有显著区别。Ribbon需要手动构建http请求并使用@RibbonClient注解,而Feign则是通过接口方式简化了调用过程,只需定义抽象方法即可。Feign的接口抽象和注解方式使得调用更加便捷,无需关注底层实现细节。
597

被折叠的 条评论
为什么被折叠?



