导语
在之前的分享中分享过关于Fegin的底层实现原理,以及Spring Cloud OpenFegin的启动原理。在这次的分享中主要总结一下Spring Cloud 微服务架构的三把利器。对于Fegin、Hystrix、Ribbon三个组件来说它们之间是什么样的关系。怎么样综合使用等这些问题就是这次分享的内容
Fegin介绍
GitHub地址 https://github.com/OpenFeign/feign.git
首先通过上次的分析可以知道Fegin是通过Java 语言编写的基于HttpClient的绑定器,在Spring Cloud微服务架构中主要的功能就是实现声明式服务调用。Fegin可以请求其他服务定义的接口,实现服务之间的调用,通过Fegin调用客户端不需要在去编写多余Http请求服务接口,如果在调用过程中出现错误还可以调用其实现类来返回。
Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者JAX-RS注解,还支持热插拔的编码器和解码器。Spring Cloud为Feign添加了Spring MVC的注解支持,并整合了Ribbon和Eureka来为使用Feign时提供负载均衡。
Ribbon介绍
GitHub地址 https://github.com/Netflix/ribbon.git
提到Ribbon最常听到的一个名词就是客户端负载均衡,就是说将服务端的负载均衡放到了客户端来实现。对于服务端来说可以启动多个不同端口的实例,通过客户端负载均衡来去调用这些实例。
Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。提供了客户端组件的一系列完善的配置项,如
本文介绍了Spring Cloud微服务的三大组件Feign、Hystrix和Ribbon,详细讲解了它们的功能、关系及配置方法。Feign用于声明式服务调用,Ribbon实现客户端负载均衡,而Hystrix提供熔断和流量控制,防止服务雪崩。在微服务架构中,三者协同工作,确保服务间的稳定通信。
订阅专栏 解锁全文
2444

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



