spring cloud alibaba(看完即入门)——Feign篇
四、Feign声明式远程调用
4.1、公共模块引入openfeign依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.2.5.RELEASE</version> </dependency>
4.2、在一个模块正常写接口、另一个模块来调用这个接口
1、member模块(被调用模块)正常写接口 2、coupon模块(调用模块)新建一个feign包,建一个接口类,专门调用member模块的接口
3、在接口类上使用@FeignClient("mall-member")指定nacos上的服务名
4、写全 member模块(被调用模块) 接口路径
4.3、在调用模块启动类上使用@EnableFeignClients开启feign
coupon模块(调用者)开启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组件集合地址
下一篇:
分布式存储相关Ceph,fs等