Feign 可以替代 RestTemplate 完成可编程式接口调用,并且内部集成 Ribbon 实现了负载均衡
一、基本使用 1.引依赖pom文件增加 openfeign 依赖
2.加注解启动类上增加 @EnableFeignClients 注解
3.声明接口创建client包,包下放使用到的接口
直接把你需要调用的微服务里的controller类复制一份过来,修修改改就行了ps:1.@FeignClient(“bookschina-service”):访问 spring.application.name=bookschina-service 的微服务2.@RequestMapping、@GetMapping、@PathVariable 用来映射地址,和controller中的用法一样3.上面这个接口对应的就是 bookschina-service 微服务下映射地址为 /bookschina/spiderBookList/{searchkey}/{pageno} 的controller类方法
4.调用测试类如下
二、进阶 1.日志配置application 文件中加入配置
ps:1.NONE:没有日志2.BASIC:记录http请求发送目标、发送时间、返回时间、总耗时等信息3.HEADERS:在 BASIC 基础上记录 请求头 和 响应头 信息4.FULL:在 BASIC 和 HEADERS 的基础上记录 请求体 和 响应体 信息5.上线后为了优化性能 日志级别尽量用 NONE 或者 BASIC
2.性能优化Feign底层客户端默认实现是 URLConnection,不支持连接池,每次http请求都要三次握手,断开时四次挥手,有点浪费性能,可以用 Apache HttpClient 替代 URLConnection
<1>pom 引入依赖
<2>application 文件中加入配置
ps:1.max-connections 和 max-connections-per-route 的值需要根据具体情况设定
到此这篇关于SpringCloud基于Feign的可编程式接口调用实现的文章就介绍到这了,更多相关SpringCloud Feign可编程式接口调用内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!