说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激.
以Spring Cloud作为微服务框架的项目中,我们项目与项目之间的调度大多是使用Feign来进行的.Feign的使用非常简单,首先我们在消费者服务引入Feign的起步依赖spring-cloud-starter-feign,如下:
消费者服务的配置文件如下:
然后在消费者的启动类上加上@EnableFeignClients开启Feign Client的功能,代码如下:
小结一下,开启Feign Client功能只需要两步:一.引入Feign所需要的依赖,二.在启动类上加上@EnableFeignClients.
下面我们来实现一个简单的Feign Client:
新建一个接口ProducerServerFeign,并加上@FeignClient,如下:
其中value为其他服务的服务名,FeignConfig为Feign的配置类,如下:
然后在控制层调用即可:
最后我们开启一个Eureka服务,两个生产者服务,以及一个消费者服务,然后在浏览器上请求:http://localhost:8764/customer/hiByFeign,浏览器会轮流出现如下内容:
hi,this is 8762
hi,this is 8763
我们发现不仅调用成功,而且Feign Client还默认具有负载均衡能力,查看起步依赖spring-cloud-starter-feign的pom文件,如下所示:
其中默认引入了Ribbon(负载均衡)和Hystrix(熔断器)的依赖.
Spring Cloud学习笔记(四)-Feign的使用及负载均衡
最新推荐文章于 2025-05-07 15:57:50 发布
本文是作者学习《深入理解Spring Cloud与微服务构建》的笔记,详细介绍了如何在Spring Cloud项目中使用Feign进行服务间的调度。通过引入Feign起步依赖并启用@EnableFeignClients,实现服务消费者的Feign Client。接口定义和配置完成后,Feign不仅实现了调用,还展示了其内置的负载均衡功能,通过示例展示在多个生产者服务中轮询调用的效果。
1178

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



