码迷,mamicode.com
首页 > 编程语言 > 详细

基于springcloud搭建项目-Feign篇(四)

时间:2020-01-21 18:21:57      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:结果   查询   man   temp   post   sql   代码   负载均衡   ros   

上一篇已经写过ribbon客户端负载均衡的用法了,这篇主要是介绍feign的用法,首先我们必须了解feign是什么?能干嘛?怎么用?

这里简单介绍一下,然后进行代码测试

1、概述

Feign是一个声明式的web服务客户端,使得编写Web服务客户端变得非常容易,只需要创建一个接口,然后在上面添加注解即可。

2、能干嘛

前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多出调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feifn在此基础上做了进一步封装,有他来帮助我们定义和实现依赖服务接口的定义。在Feign的实现下,我们只需创建一个接口并使用注解的方式来配置它(以前是Dao接口上标注Mapper注解,现在是一个微服务接口上面注解一个Feign注解即可),即可完成对服务提供方的接口绑定,简化了使用Spring cloud Ribbon时,自动封装服务调用客户端的开发量

3、怎么用

(1)、首先,添加pom.xml中的依赖,在study-web和study-ms中同时都加入Feign的依赖

  注:stusy-web和study-ms都是沿用上几篇搭建的项目,不知道的往上几篇翻翻

技术图片

(2)、 在study-ms的服务里添加查询方法

controller层

技术图片

 service层

 技术图片

 技术图片

 mapper层

技术图片

 技术图片

有关sql的配置

技术图片

(3)、在study-api服务中添加接口,加上@FeignClient的注解,name 的是服务名

技术图片

(4)、在study-web中添加测试方法

技术图片

 在study-web的启动类上添加注解@EnableFeignClients

技术图片

4、测试

启动study-eureka(8001)、study-ms(8003)、study-web(8002)

技术图片

 

 

 

 

通过postman测试接口,结果为:

技术图片

 总结-feign和ribbon

Feign集成了Ribbon
利用Ribbon维护了MicroServiceCloud-Dept的服务列表信息,并且通过轮询实现了客户端的负载均衡,而与Ribbon不同的是,通过Feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用

Feign通过接口的方法调用Rest服务(之前是Ribbon+RestTemplate),
该请求发送给Eureka服务器(http://MICROSERVICECLOUD-DEPT/dept/list),
通过Feign直接找到服务接口,由于在进行服务调用的时候融合了Ribbon技术,所以也支持负载均衡作用。

基于springcloud搭建项目-Feign篇(四)

标签:结果   查询   man   temp   post   sql   代码   负载均衡   ros   

原文地址:https://www.cnblogs.com/jing5464/p/12222416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!