当前位置:首页 » 《随便一记》 » 正文

微服务003基于Feign的远程服务调用_腰码合一的博客

0 人参与  2021年11月22日 16:23  分类 : 《随便一记》  评论

点击全文阅读


1.Feign简介

Feign 是在 Ribbon 的基础上进行了一次改进,是一个使用起来更加方便的 HTTP 客户端。Ribbon 和 Feign 都是用于调用其他服务的,方式不同。Feign 则是在 Ribbon 的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己构建 http 请求。不过要注意的是抽象方法的注解、方法签名要和提供服务的方法完全一致。然后在上面添加注解即可 ,将需要调用的其他服务的方法定义成抽象方法即可, 不需要自己构建 http 请求。使得编写 客户端变得非常容易。

区别:

1.启动类使用的注解不同,Ribbon 用的是@RibbonClient,Feign 用的是@EnableFeignClients。

2.服务的指定位置不同,Ribbon 是在@RibbonClient 注解上声明,Feign 则是在定义抽象方法的接口中使用@FeignClient 声明和在启动类添加@EnableFeignClients实现启用。

3.调用方式不同,Ribbon 需要自己构建 http 请求,模拟 http 请求然后使用 RestTemplate 发送给其他服务,步骤相当繁琐.

2.openFeign和Feign的区别

1)Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用接口,就可以调用服务注册中心的服务。

1 <dependency>
2     <groupId>org.springframework.cloud</groupId>
3     <artifactId>spring-cloud-starter-feign</artifactId>
4 </dependency>

2)OpenFeign目前是Spring Cloud 二级子项目。而Feign指的是Netflix下的Feign,现在我们学习的是OpenFeign,是Spring提供的。

并且OpenFeign是Spring Cloud在Feign的基础上支持了SpringMVC的注解,如@RequestMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中.

1 <dependency>
2     <groupId>org.springframework.cloud</groupId>
3     <artifactId>spring-cloud-starter-openfeign</artifactId>
4 </dependency>  

3.feign实践

第一步:在服务消费方sca-consumer,添加项目依赖(SpringCloud团队基于OpenFeign研发了starter),代码参考上面:

第二步:在启动类上添加@EnableFeignClients注解,代码如下: 

第三步:定义Http请求API,基于此API借助OpenFeign访问远端服务,代码如下: 

其中,@FeignClient描述的接口底层会为其创建实现类。

 fallbackFactory=后备工厂.class解释:

当我们在进行远程服务调用时,假如调用的服务突然不可用了或者调用过程超时了,怎么办呢?一般服务消费端会给出具体的容错方案,

用于定义服务调用超时,网络阻塞等现象发生时。一种应对措施或处理机制,参考ruoyi.vip官网

接口:

工厂类:

 

 第四步:所以我们可以模仿他,写一个自己需要的FallbackFactory

feign:
  hystrix:
    enabled: true   #默认为flase 
feign的Hystrix支持默认关闭,需要手动设置启动feign方式调用时的服务中断处理机制。不然会导致fallbackFactory失效,

 第四步:创建 消费方控制层Controller中并添加feign访问,代码如下:

 4. 测试

当我们给提供方加一个睡眠时(模仿网络中的阻塞)feign会有一个默认超时的时间。

 

 这时,会把错误发送给维护人员。因为没有定义错误信息返回所以为null


点击全文阅读


本文链接:http://zhangshiyu.com/post/31190.html

服务  调用  注解  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 侯府断亲?重生嫡女惨虐全家!小说(沈清陆曜)+前传(侯府断亲?重生嫡女惨虐全家!)阅读
  • 热文推荐慕晚安陆晏霆霆爷家的小妖精又撩又飒小说大结局(霆爷家的小妖精又撩又飒)书荒必看列表
  • 岁月杳杳人不归高质量好文(裴烬野),岁月杳杳人不归高质量好文
  • 高分_等不到鬓雪相拥小说(容临渊云朝朝)(等不到鬓雪相拥)全本完整阅读
  • 等不到鬓雪相拥后续在线列表_等不到鬓雪相拥后续在线(云朝朝容临渊)
  • 完结文铁马冰河入梦来完结文列表_完结文铁马冰河入梦来完结文(陆知栩褚明策)
  • 睁眼大婚日,我踹了渣夫抱紧金大腿(云筝厉无恙)全书浏览_睁眼大婚日,我踹了渣夫抱紧金大腿全书浏览
  • (乱世伽黎)顾承煊余芊芊乱世伽黎后续一口气无广告全书章节表
  • 全书浏览重生后联姻丈夫爱上KTV小妹我死遁了后续免费(姜满裴聿琛温舒柠)_重生后联姻丈夫爱上KTV小妹我死遁了后续免费(姜满裴聿琛温舒柠)全书结局
  • 重生后联姻丈夫爱上KTV小妹我死遁了后续免费姜满裴聿琛温舒柠完本_重生后联姻丈夫爱上KTV小妹我死遁了后续免费(姜满裴聿琛温舒柠)
  • 高考前,我拒绝再为全班求护身符免费阅读_林薇薇年年大反击_小说后续在线阅读_无删减免费完结_
  • 此前深情仅半两,裴嫣冰周松寒完本_完本此前深情仅半两,裴嫣冰周松寒

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1