(十)SpringCloud系列——openfeign的高级特性实战内容介绍

前言

本节内容主要介绍一下SpringCloud组件中微服务调用组件openfeign的一些高级特性的用法以及一些常用的开发配置,如openfeign的超时控制配置、openfeign的重试机制配置、openfeign集成高级的http客户端、openfeign的请求与响应压缩功能,以及如何开启openfeign的日志查看功能,便于我们更好的定位问题等。关于微服务集成开发openfeign的实战内容,可参考作者的往期博客内容。

正文

OpenFeign的日志配置

①在openfeign的配置类中添加日志的bean配置

@Bean
public Logger.Level feignLoggerLevel() {
	return Logger.Level.FULL;
}

②在调用方的配置文件applicaton.yml中,配置openfeign的接口日志,这里配置的是debug级别的日志

③ 启动微服务项目,查看openfeign的接口调用日志

OpenFeign的超时配置

①openfeign超时的全局配置,这里设置为5秒钟,如果没有配置,系统默认配置是60秒

@Bean
public Request.Options options() {
	return new Request.Options(60, TimeUnit.SECONDS, 60, TimeUnit.SECONDS, true);
}

 ②在接口提供方打断点,模拟接口响应超时,通过日志,我们可以确认超时配置是否已经生效

③在调用方的配置文件application.yml中针对不同微服务配置超时时间,该配置优先级高于全局的配置

feign:
  client:
    config:
      aiyundun-manager: #服务提供方
        connectTimeout: 3000  # 连接超时时间,单位为毫秒
        readTimeout: 3000  # 读取超时时间,单位为毫秒

 ④局部配置测试结果

OpenFeign的请求重试机制设置

①在配置类中配置重试策略,如果不配置,默认是不开启重试策略

@Bean
public Retryer myRetryer()
{
	//最大请求次数为3(1+2),初始间隔时间为100ms,重试间最大间隔时间为1s
	return new Retryer.Default(500,1,3);
}

 ②查看测试日志,间隔3秒钟会尝试重复调用,尝试调用了三次

OpenFeign的请求响应的压缩功能配置

①在调用方配置文件application.yml中配置openfeign请求和响应的压缩功能

feign:
  client:
    config:
      aiyundun-manager: #服务提供方
        connectTimeout: 3000  # 连接超时时间,单位为毫秒
        readTimeout: 3000  # 读取超时时间,单位为毫秒
  compression:
    request:
      enabled: true
      min-request-size: 2048 #最小触发压缩的大小
      mime-types: text/xml,application/xml,application/json #触发压缩数据类型
    response:
      enabled: true

 ②查看openfeign调用日志

OpenFeign替换默认的http请求客户端

①添加httpclient5客户端maven依赖配置

<!-- httpclient5-->
<dependency>
	<groupId>org.apache.httpcomponents.client5</groupId>
	<artifactId>httpclient5</artifactId>
	<version>5.3</version>
</dependency>
<!-- OpenFeign 依赖 -->
<dependency>
	<groupId>io.github.openfeign</groupId>
	<artifactId>feign-core</artifactId>
	<version>11.5</version>
</dependency>
<dependency>
	<groupId>io.github.openfeign</groupId>
	<artifactId>feign-httpclient</artifactId>
	<version>11.5</version>
</dependency>

②在调用方的application.yml中开启httpclient客户端,默认就是开启状态,可跳过此步骤

③ 查看是否替换成功

结语

至此,关于openfeign的高级特性实战内容介绍到这里就结束了,我们下期见。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/427835.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python实现有限域GF(2^8)上的乘法运算

有限域GF(2^8)上的乘法运算可以看成多项式的乘法 5e转换成二进制为0101 1110&#xff0c;对应的多项式为x^6x^4x^3x^2x 3f转换成二进制为0011 1111&#xff0c;对应的多项式为x^5x^4x^3x^2x1 将这两个多项式相乘再模多项式x^8x^4x^3x1得到结果为1110 0101&#xff0c;转换为…

CUDA 中的线程组织

明朝那些事中有一句话&#xff1a;我之所以写徐霞客是想告诉你&#xff0c;所谓千秋霸业万古流芳&#xff0c;与一件事相比&#xff0c;其实都算不了什么&#xff0c;这件事情就是——用你喜欢的方式度过一生。 我们以最简单的 CUDA 程序&#xff1a;从 GPU 中输出 Hello World…

ES入门四:Term Query Api实践

通过上一篇文章我们知道&#xff0c;在全文搜索的时候&#xff0c;系统会对检索内容进行分词&#xff0c;然后在对每个词项进行检索&#xff0c;但是我们今天介绍的基于词项查询的Api是不需要对输入内容进行分词的&#xff0c;Term Level Query会将输入的内容作为一个整体来进行…

es6 相关面试题

1 var, let ,const 区别&#xff1f; 2 手写将对象进行合并 手写合并对象 3 普通函数和箭头函数区别&#xff1f; 4 find 和 filter的区别&#xff1f; 5 some和every区别&#xff1f;

土壤数据合集:全国各省土壤类型分布矢量数据+中国土壤质地空间分布数据+中国土壤侵蚀空间分布数据

给大家分享3份土壤数据 1、全国各省土壤类型分布矢量数据 2、中国土壤质地空间分布数据 3、中国土壤侵蚀空间分布数据 #1全国各省土壤类型分布矢量数据 本数据包括两个数据集&#xff1a; &#xff08;1&#xff09;1:400万中国土壤图(2000)&#xff0c; &#xff08;2&…

视黄酸诱导基因-1敲除诱导树突状细胞的不成熟特性并延长异体移植小鼠的存活时间研究【AbMole】

器官移植是一种用于替换因疾病、损伤或其他原因受损的人体器官的医疗程序。尽管器官移植可以挽救生命并显著提高生活质量&#xff0c;但存在供体器官短缺、排斥反应、器官功能障碍、感染和药物副作用等问题。为了提高移植成功率和受体健康&#xff0c;需要有效的免疫策略。树突…

真不愧是华为出来的,真的太厉害了。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 实习去了博彦科技&#xff08;外包&#xff09;&#xff0c;做的就是螺丝钉的活&#xff0c;后面…

公众号运营怎么做?系统干货分享!

公众号运营是一个系统工程&#xff0c;需要我们从基础、排版、内容创作等多方面来入手。只有做好每一个环节&#xff0c;才能运营出一个高质量的公众号。 公众号运营怎么做&#xff1f;这是每一个企业都需要面对的问题。在这个问题上&#xff0c;伯乐网络传媒给大家从几个方面…

如何本地创建websocket服务端并发布到公网实现远程访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

数据结构中各个排序的定义以及代码表示

在数据结构中&#xff0c;排序&#xff08;Sorting&#xff09;是将一组数据按照特定的顺序重新排列的过程。排序算法是计算机科学中的经典问题&#xff0c;有多种不同的排序算法可供选择&#xff0c;每种算法都有其独特的特点和适用场景。 下面介绍几种常见的排序算法的定义和…

企微hook源码第二弹

免费的企微框架&#xff0c;可下载测试。 支持文本消息&#xff0c;图片消息&#xff0c;视频消息&#xff0c;文件消息。 有兴趣可以进群交流。649480745&#xff0c;群内不定期开源企微hook源码 接下来就是第二弹的企微hook源码。后续会在群内开源完整源码。

go并发模式之----使用时顺序模式

常见模式之二&#xff1a;使用时顺序模式 定义 顾名思义&#xff0c;起初goroutine不管是怎么个先后顺序&#xff0c;等到要使用的时候&#xff0c;需要按照一定的顺序来&#xff0c;也被称为未来使用模式 使用场景 每个goroutine函数都比较独立&#xff0c;不可通过参数循环…

centos7 挂载磁盘

centos7 挂载磁盘 1.对磁盘进行分区1.1.fdisk -l 查看磁盘1.2.对磁盘进行分区1.3 验证 2.磁盘格式化3 .磁盘挂载到对应目录3.1 挂载3.2 验证 4. 开机自动挂载磁盘4.1 查看uuid4.2 写入开机文件4.3 重启4.4.验证 1.对磁盘进行分区 1.1.fdisk -l 查看磁盘 &#xff08;注&#…

QPaint绘制自定义仪表盘组件03

网上视频抄的&#xff0c;用来自己看一下&#xff0c;看完就删掉 ui mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QDebug> #include <QtMath> #include <QDialog> #include <QPainter> #include …

端接电阻没选对,DDR颗粒白费?

高速先生成员--姜杰 端接可以解决很多反射问题&#xff0c;如果还有问题&#xff0c;有没有一种可能是端接电阻阻值没选对&#xff1f; 对于点到点的拓扑&#xff0c;末端并联电阻的阻值比较容易选择&#xff0c;端接电阻阻值R与传输线特征阻抗一样即可。 VTT为1V时&#xff0c…

Linux-查看服务器配置信息

一、查看操作系统 1.1、查看操作系统的版本 命令:cat /etc/redhat-release 1.2、查看系统内核 命令:uname –a 二、查看cpu信息 2.1、所有信息 lscpu [root@tes ~]# lscpu Architecture: x86_64 ##cpu架构 CPU op-mode(s): 32-bit, 64-bit Byte Order:…

大模型日报|今日必读的5篇大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.杨立昆团队提出图像世界模型&#xff1a;在视觉表征学习中学习和利用世界模型 联合嵌入预测架构&#xff08;JEPA&#xff09;通过利用世界模型进行学习&#xff0c;被认为是一种很有前途的自监督方法&#xff0c;…

[环境配置]ssh连接报错“kex_exchange_identification: read: Connection reset by peer”

已经被VScode ssh毒死好几次了&#xff0c;都是执行命令意外中断&#xff0c;然后又VSCode里连不上、本机Terminal也连不上了。。。 重启远程服务器&#xff0c;VSCode可以连上了&#xff0c; 系统ssh还是不行&#xff0c;报错“kex_exchange_identification: read: Connecti…

Linux系统CPU模式部署Qwen1.5-14B

Qwen1.5已适配Ollama。 Ollama 是一个命令行聊天机器人&#xff0c;它使得几乎可以在任何地方使用大型语言模型变得简单。 下载 Ollma 安装文件 访问以下网站&#xff1a;https://ollama.com/download/linux 执行&#xff1a;curl -fsSL https://ollama.com/install.sh | sh…

大地测量学课堂笔记:1、绪论

慕课网址&#xff1a;https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_ 1. 大地测量学的定义 大地测量学是专门研究精确测量…