0
点赞
收藏
分享

微信扫一扫

十、http客户端Feign

南柯Taylor 2023-11-17 阅读 44

目录

一、使用Feign客户端

1、修改pom文件

2、在启动类OrderApplication中加入注释

3、创建客户端接口

4、装配UserClient,并且进行远程调用

5、发送请求,查看服务调用情况

二、定义Feigin的配置

方式一:配置文件方式

(1)全局生效:

(2)局部生效:

方式二:Java代码方式

三、Feign的性能优化

Feign底层的客户端实现:

因此优化Feign的性能主要包括:

1、Feigin加入HttpClient的支持:

(1)引入依赖:pom

(2)配置连接池:yml

四、Feign最佳实践

实现方式二:抽取FeiginClient


一、使用Feign客户端

1、修改pom文件

<!--        fegin客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2、在启动类OrderApplication中加入注释

3、创建客户端接口

4、装配UserClient,并且进行远程调用

5、发送请求,查看服务调用情况

发现不仅实现了远程调用,还实现了负载均衡

二、定义Feigin的配置

配置Feign日志有两种方式

方式一:配置文件方式

(1)全局生效:

在yml文件中添加

feign:
  client:
    config:
      default:
        logger-level: FULL
(2)局部生效:
feign:
  client:
    config:
      userservice:
        logger-level: FULL

相较于之前的日志要详细许多

方式二:Java代码方式

三、Feign的性能优化

Feign底层的客户端实现:

  • URLConnection:默认实现,不支持连接池
  • Apache HttpClient:支持连接池
  • OKHttp:支持连接池

因此优化Feign的性能主要包括:

  • 使用连接池代替默认的URLConnection
  • 日志级别,最好用basic或none
     

1、Feigin加入HttpClient的支持:

(1)引入依赖:pom
<!--        HttpClient依赖-->
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-httpclient</artifactId>
        </dependency>
(2)配置连接池:yml
feign:
  httpclient:
    enabled: true
    max-connections: 200 #最大连接数
    max-connections-per-route: 50 #单个路径的最大连接数

四、Feign最佳实践

实现方式二:抽取FeiginClient

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>

举报

相关推荐

0 条评论