当前位置:   article > 正文

springcloud第4季 微服务间使用fegin进行调用以及超时,重试等功能4_微服务之间调用feign

微服务之间调用feign

一 openfegin的介绍

1.1 openfegin的介绍

openfegin是一个声明式的web客户端;只需要创建一个rest接口并在该接口上添加注解@FeginClient即可。openfeign基本上就是当前微服务之间调用的事实标准。openfeign同时还集成了sprigcloud loadbalance。

1.2 常见fegin的api

1.3 对应关系

二  工程案例微服务通过fegin调用

2.1 逻辑架构图

2.2 客户端

1.pom文件

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

2.业务类

3.启动类

2.3 fegin接口提出到公共服务

1.feigin接口

2.pom

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

2.4 服务端

服务提供端是9091和9092

2.5 测试

1.启动服务

2.测试

三  高级篇

3.1 超时的配置

默认openfegin客户端的等待时间是60s服务端处理超时会导致fegin客户端返回报错。

在yml配置文件中: 

connectionTimeout  连接超时时间;r

eadTimeout  请求处理超时时间。

3.2 配置api

超时配置分为全局配置和局部配置。

3.3 案例操作

1.配置服务端,耗时5s

2.配置客户端,超过2s就超时

这里针对具体的服务进行设置,超过2s,就超时,fegin接口调用的设置了contextId,这里需要配置成contextid的值 ms-provider-1;如果没有此属性,配置成value的值:ms-provider

3.查看结果

a) 进行访问

b) 查看结果

3.4 重试的配置

1.在客户端配置

新建一个配置类,设置重试次数

2.访问测试

3.5 配置httpclient5的协议

1.在消费端配置pom依赖

  1. <!-- httpclient5-->
  2. <dependency>
  3. <groupId>org.apache.httpcomponents.client5</groupId>
  4. <artifactId>httpclient5</artifactId>
  5. <version>5.3</version>
  6. </dependency>
  7. <!-- feign-hc5-->
  8. <dependency>
  9. <groupId>io.github.openfeign</groupId>
  10. <artifactId>feign-hc5</artifactId>
  11. <version>13.1</version>
  12. </dependency>

2.在配置文件配置开关

3.测试

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号