导语
在之前的分享中分享过关于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最常听到的一个名词就是客户端负载均衡,就是说将服务端的负载均衡放到了客户端来实现。对于服务端来说可以启动多个不同端口的实例