springcloud:3.2测试超时机制

e4a774b5e0b3474583dfe024abd20ed7.png

服务提供者

Openfeign远程调用服务提供者搭建

文章地址http://t.csdnimg.cn/06iz8

PaymentController【控制层】

 /**
     * 测试超时机制
     *
     * @return
     */
    @GetMapping("/timeout")
    public String TimeOut() {
        try {
            TimeUnit.SECONDS.sleep(5);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "payment success";
    }

相关接口

测试超时机制:http://localhost:8001/payment/timeout

服务消费者

Openfeign远程调用消费者搭建

 文章地址http://t.csdnimg.cn/06iz8

依赖

<!-- resilience4j  -->
<dependency>
    <groupId>io.github.resilience4j</groupId>
    <artifactId>resilience4j-spring-cloud2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
</dependency>

application.yml

# 超时机制
resilience4j:
  timelimiter:
    instances:
      delay:
        # 设置超时时间 2秒
        timeoutDuration: 2   

PaymentFeignService【接口层】

 /**
     * 支付服务-测试超时机制
     *
     * @return
     */
    @GetMapping("/payment/timeout")
    String paymentTimeout();

  

OrderController【控制层】


    /**
     * 支付服务-测试超时降级
     *
     * @return
     */
    @GetMapping("/timeout")
    @TimeLimiter(name = "delay", fallbackMethod = "timeoutFallback")
    //超时降级注解:name:对应application.yml的超时降级配置名称;fallbackMethod:超时服务降级方法
    public CompletableFuture<String> paymentTimeout() {
        log.info("********* 进入方法 ******");
        //resilience4j一般用异步操作,此处使用lambda表达式
        CompletableFuture<String> completableFuture =
                CompletableFuture.supplyAsync((Supplier<String>) () -> (paymentFeignService.paymentTimeout()));
        log.info("********* 离开方法 ******");
        return completableFuture;
    }

    /**
     * 超时服务降级方法
     *
     * @param e
     * @return
     */
    public CompletableFuture<ResponseEntity> timeoutFallback(Exception e) {
        e.printStackTrace();
        return CompletableFuture.completedFuture(ResponseEntity.ok("超时啦"));
    }

相关接口

测试服务调用:http://localhost:8004/order/index

测试超时机制:http://localhost:8004/order/timeout

 

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

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

相关文章

EdgeX Foundry 边缘物联网中间件平台

文章目录 1.EdgeX Foundry2.平台架构3.平台服务3.1.设备服务3.2.核心服务3.3.支持服务3.4.应用服务3.5.安全服务3.6.管理服务 EdgeX Foundry # EdgeX Foundryhttps://iothub.org.cn/docs/edgex/ https://iothub.org.cn/docs/edgex/edgex-foundry/1.EdgeX Foundry EdgeX Found…

babylonjs入门-半球光

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff08;点击群号传送&#xff09;&#xff1a;464146715 官方文档 中文文档 案例传送门 懒得打字 粘贴复制 一气呵成

php httpfs链接hdfs

一.代码&#xff08;有bug&#xff09; GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS 二.调用代码 1.代码1.代码 require_once(../webhdfs/src/org/apache/hadoop/WebHDFS.php);require_once(../webhdfs/src/org/apache/hadoop/tools/Curl.php); require_o…

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

应用健康状态检测

一、Liveness 与 Readiness 1、初识 Liveness 与 Readiness (1) Liveness&#xff08;存活性&#xff09;&#xff1a;Liveness 探针是一个用于检测应用程序是否处于活动状态的机制&#xff0c;通常通过周期性地向应用程序发送请求并检查其响应来完成。如果应用程序未能响应&…

Spring MVC源码中设计模式——适配器模式

适配器模式介绍 适配器模式&#xff08;Adapter Pattern&#xff09;是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式&#xff0c;它结合了两个独立接口的功能。 应用场景&#xff1a; 1、系统需要使用现有的类&#xff0c;而此类的接口不符合系统的需要…

Qt Creator配置MSVC编译环境、调试环境

在windows上开发&#xff0c;一般使用Qt Creator自带mingw编译器&#xff0c;编译和调试都很方便&#xff0c;安装Qt时勾选后&#xff0c;自动配置完毕。 但是有时候我们需要使用MSVC的编译器&#xff0c;这个时候我们没法直接使用&#xff0c;需要配置环境才能使用&#xff0…

Vue中<style scoped lang=“scss“>的含义

这段代码中的<style scoped lang"scss">是HTML和Vue框架结合使用时常见的一个模式&#xff0c;具体含义如下&#xff1a; scoped&#xff1a;这是一个Vue.js特有的属性&#xff0c;用来指定样式只应用于当前组件的元素。没有这个属性时&#xff0c;样式会全局应…

网络卡顿是怎么回事?

网络卡顿是指在网络通信过程中&#xff0c;数据传输出现延迟或中断&#xff0c;导致用户在使用网络时出现卡顿、延迟或不流畅的情况。例如&#xff1a;系统响应时间长&#xff0c;网页加载速度慢&#xff1b;视频或游戏掉帧&#xff0c;导致画面卡顿或不流畅&#xff1b;音视频…

qsort函数 结构体比较(strcmp函数(比较字符串的大小))

strcmp函数应用于qsort函数&#xff0c;排序创建函数指针时比较字符串大小。 这里我创建了一个简单的学生结构体&#xff0c;这个结构体只包含名字跟年龄两个信息。 在创建函数指针cmp_stu_age后&#xff0c;进行年龄大小比较&#xff0c;强制类型转换成stu*。 int cmp_stu_ag…

Springboot 项目读取yaml的配置文件信息给静态方法使用,以及通过配置 ResourceBundle 类读取config.properties

读取yaml 的配置文件 配置文件信息 iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQbj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_name: te.....ice 创建一个类 ProxyProperties 读取配置文件信息&#xff0c;并对外提供get方法 …

Python爬虫——Urllib库-2

编解码 问题引入 例如&#xff1a; https://www.baidu.com/s?wd章若楠 https://www.baidu.com/s?wd%E7%AB%A0%E8%8B%A5%E6%A5%A0 第二部分的一串乱码就是章若楠 如果这里是写的章若楠就会 产生这样的错误 所以我们就可以使用get请求方式的quote方法了 get请求方式的q…

EasyRecovery2024国产免费的手机数据恢复软件

一、功能介绍 EasyRecovery手机数据恢复软件是一款功能全面的数据恢复工具&#xff0c;专为移动设备设计。其主要功能包括&#xff1a; 文件恢复&#xff1a;能够恢复手机中因各种原因丢失的文件&#xff0c;如照片、视频、音频、文档等。深度扫描&#xff1a;通过深度扫描手…

CSS 盒子模型(box model)

概念 所有HTML元素可以看作盒子&#xff0c;在CSS中&#xff0c;"box model"这一术语是用来设计和布局时使用CSS盒模型本质上是一个盒子&#xff0c;封装周围的HTML元素&#xff0c;它包括&#xff1a;外边距(margin)&#xff0c;边框(border)&#xff0c;内边距(pad…

Linux/Centos 部署静态IP,解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题

Linux/Centos 部署IP&#xff0c;解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题 Linux/Centos 部署静态IP查物理机/自身电脑的IP设置VMware上的虚拟网络编辑器设置网卡IP&#xff0c;激活至此就可访问百度了 Linux/Centos 部署静态IP 需要注意…

Zookeeper学习1:概述、安装、应用场景、集群配置

文章目录 概述安装LinuxWindows 配置参数集群参考配置文件配置步骤流程启动 概述 Zookeeper&#xff1a; 为分布式框架组件提供协调服务的中间件 【类似&#xff1a;文件系统通知机制】 负责存储上下层应用关系的数据以及接收观察者注册监听&#xff0c;一旦观察查关心的数据发…

力扣SQL50 无效的推文 查询

Problem: 1683. 无效的推文 思路 &#x1f468;‍&#x1f3eb; 参考 char_length(str)&#xff1a;计算 str 的字符长度length(str)&#xff1a;计算 str 的字节长度 Code select tweet_id from Tweets where char_length(content) > 15;

Docker中使用Tomcat并部署war工程

系列文章目录 文章目录 系列文章目录前言一、构建镜像二、运行镜像三、列出正在运行的容器四、停止正在运行的容器 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文…

java 基础上(1)(核心知识搭配代码)

前言 java的学习分为了上部分以及下部分进行学习&#xff0c;上部分就是对于java的基础知识&#xff0c;面向对象上&#xff0c;面向对象下&#xff0c;异常操作&#xff0c;javaApi&#xff1b;下部主要是集合&#xff0c;泛型&#xff0c;反射&#xff0c;IO流&#xff0c;J…

AcWing 466. 回文日期

先贴个题目&#xff1a; 以及原题链接&#xff1a;466. 回文日期 - AcWing题库https://www.acwing.com/problem/content/468/ 这题乍一看有点恶心&#xff0c;如果枚举日期还要判断合法性&#xff0c;然后每个日期再判断是不是回文&#xff0c;即麻烦&#xff0c;时间复杂度又高…
最新文章