上篇文章我们写了service-user服务提供者,并使用ribbon的方式去调用,本次,我们依然使用上一章节中的service-user作为服务提供者,改为使用feign去消费这个微服务
feign客户端和ribbon类似,同样实现了客户端的负载均衡,与ribbon不同的是,feign的调用与本地接口的调用更加类似,并且更加便捷、更加优雅,传入参数较多时得以体现,当然,在实际项目中,两者可能都会用到,下面来写一下feign的实现
一、创建一个服务消费者 feign
1、创建项目
选择Feign 和 Eureka Server点击完成
关键pom.xml如下:
2、修改配置
bootstrap.yml
在启动类添加@EnableFeignClients以启动feign客户端
3、具体实现代码
新建两个包:api 和 client 并创建相应的实现类
说明:UserFeignClient 是feign接口,UserFeignApi是feign接口的调用者
UserFeignClient 代码如下:
解释:
@FeignClient(name="service-user") 标明feign调用的微服务名称
@GetMapping("/listUsers") 对应service-user微服务中的URL
UserFeignApi 代码如下:
将刚才定义的userFeignClient注入,并当成普通的接口调用即可
4、测试
启动两个service-user服务:端口分别为 8801 和 8802
访问:http://localhost:9001/listUsersByFeign
结果页面如下:
至此,feign的整合已完成,
预告:下篇将要介绍配置中心的使用
关注我们
领取专属 10元无门槛券
私享最新 技术干货