Ribbon和Feign的区别及说明
Ribbon 和 Feign 的区别
spring cloud的 Netflix 中提供了两个组件实现软负载均衡调用:ribbon 和 feign 。
Ribbon
是一个基于 HTTP 和 TCP 客户端 的负载均衡的工具。
它可以 在客户端 配置 RibbonServerList(服务端列表),使用 HttpClient 或 RestTemplate 模拟http请求,步骤相当繁琐。
服务间的调用,需要开启负载均衡,需要开启熔断机制
Feign
Feign 是在 Ribbon的基础上进行了一次改进,是一个使用起来更加方便的 HTTP 客户端。
采用接口的方式, 只需要创建一个接口,然后在上面添加注解即可 ,将需要调用的其他服务的方法定义成抽象方法即可, 不需要自己构建http请求。
然后就像是调用自身工程的方法调用,而感觉不到是调用远程方法,使得编写 客户端变得非常容易。
类似于 mybatis 的 @Mapper注解 。
注意:spring-cloud-starter-feign 里面已经包含了 spring-cloud-starter-ribbon(Feign 中也使用了 Ribbon)
可以说是ribbon的升级版,自带负载均衡,自带熔断机制
config
:配置熔断监控仪表盘controller
:服务消费controller,调用service方法hystrix
:熔断回调方法service
:@FeignClient,指定服务提供者,指定回调方法(重点)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决springboot启动失败的问题('hibernate.dialect' not set)
这篇文章主要介绍了解决springboot启动失败的问题('hibernate.dialect' not set),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12Java组件commons fileupload实现文件上传功能
这篇文章主要为大家详细介绍了Java组件commons fileupload实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10如何利用反射生成 MyBatisPlus中QueryWrapper动态条件
这篇文章主要介绍了如何利用反射生成 MyBatisPlus中QueryWrapper动态条件,分享在MyBatisPlus中经常会用到代码来构造查询条件等内容,需要的小伙伴可以参考一下2022-02-02SpringMVC中的HandlerMapping和HandlerAdapter详解
这篇文章主要介绍了SpringMVC中的HandlerMapping和HandlerAdapter详解,在Spring MVC中,HandlerMapping(处理器映射器)用于确定请求处理器对象,请求处理器可以是任何对象,只要它们使用了@Controller注解或注解@RequestMapping,需要的朋友可以参考下2023-08-08
最新评论