版权声明:本文为博主原创文章,未经博主允许不得转载
用Feign实现服务消费者
Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
准备工作
还是将之前的注册中心(8761)和两个提供者启动起来(8762,8763)
创建一个服务消费者
重新新建一个SpringBoot工程,取名为:consumer-feign
在它的pom.xml文件分别引入起步依赖spring-cloud-starter-eureka、spring-cloud-starter-feign、spring-boot-starter-web
创建application.yml文件,并在里面添加如下内容
server:
port: 8765
spring:
application:
name: consumer-feign
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
在启动类中添加@EnableFeignClients注解开启Feign的功能
定义一个feign接口,通过@FeignClient(“服务名”),来指定调用哪个服务。比如在代码中调用了provider-hello服务的"/hi"接口
创建一个controller,在controller中用调用IHelloService 的方法
在浏览器上多次访问http://localhost:8765/hi?name=mr,浏览器交替显示:
hi mr ,i am from port: 8763
hi mr ,i am from port: 8762