spring cloud alibaba(看完即入门)——Feign篇

目录


原文地址: spring-cloud-alibaba

四、Feign声明式远程调用

4.1、公共模块引入openfeign依赖

   <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-openfeign</artifactId>
         <version>2.2.9.RELEASE</version>
   </dependency>

4.2、在一个模块正常写接口、另一个模块来调用这个接口

1、member模块(被调用模块)正常写接口
spring cloud alibaba(看完即入门)——Feign篇
2、coupon模块(调用模块)新建一个feign包,建一个接口类,专门调用member模块的接口
spring cloud alibaba(看完即入门)——Feign篇

3、在接口类上使用@FeignClient("mall-member")指定nacos上的服务名

spring cloud alibaba(看完即入门)——Feign篇4、写全 member模块(被调用模块) 接口路径
spring cloud alibaba(看完即入门)——Feign篇

4.3、在调用模块启动类上使用@EnableFeignClients开启feign

coupon模块(调用者)开启feign, 指定包名
spring cloud alibaba(看完即入门)——Feign篇
测试调用

spring cloud alibaba(看完即入门)——Feign篇spring cloud alibaba(看完即入门)——Feign篇

4.4、feign性能优化

Feign底层的客户端实现:
1、URLConnection:默认实现,不支持连接池
2、Apache HttpClient:支持连接池
3、OKHttp:支持连接池

因此优化feign主要包括:
1、使用连接池代替默认的URLConnection
2、日志级别,最好用basic或none

引入依赖

 <dependency>
     <groupId>io.github.openfeign</groupId>
     <artifactId>feign-httpclient</artifactId>
 </dependency>

配置yml

feign:
  client:
    config:
      default: # default 全局配置
        loggerLevel: BASIC #日志级别,BASIC就是最基本的请求和响应信息
  httpclient:
    enabled: true # 支持httpClient的开关
    max-connections: 200 #最大连接数
    max-connections-per-route: 50 # 单个路径的最大连接数

spring cloud alibaba(看完即入门)——Feign篇

上一篇:在JAVA中返回类型使用泛型T和Object有什么区别?


下一篇:python - 判断值是否为空