服务断路器_Resilience4j超时降级
创建模块cloud-consumer-resilience4j-order80

POM引入依赖
<dependencies><!-- 引入Eureka 客户端依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!-- 引入服务调用依赖 OpenFigen --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><!-- actuator监控信息完善 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><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></dependencies>
修改YML文件
server:port: 80eureka:instance:#实例名字instance-id: cloud-order-resilience4j-consumer80client:# Eureka Server地址service-url:# 单机Eureka server 地址# defaultZone: http://localhost:7001/eurekadefaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/spring:application:# 设置应用名字name: cloud-order-consumerlogging:level:com.hgy.service: debug# 超时机制
resilience4j:timelimiter:instances:delay:# 设置超时时间 5秒timeoutDuration: 2
编写服务提供者提供超时方法
/*** 超时服务* @return*/@GetMapping("timeout")public String timeout(){try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {e.printStackTrace();}return "success";}
编写服务提供者Controller
@GetMapping("/timeout")
@TimeLimiter(name = "delay",fallbackMethod = "timeoutfallback")public CompletableFuture<String> timeout() {log.info("********* 进入方法 ******");//异步操作CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync((Supplier<String>) () -> (paymentFeignService.timeout()));log.info("********* 离开方法 ******");return completableFuture;}
编写服务降级方法
/*** 超时服务降级方法* @param e* @return*/public CompletableFuture<ResponseEntity> timeoutfallback(Exception e){e.printStackTrace();return CompletableFuture.completedFuture(ResponseEntity.ok("超时啦"));}
测试

相关文章:
服务断路器_Resilience4j超时降级
创建模块cloud-consumer-resilience4j-order80 POM引入依赖 <dependencies><!-- 引入Eureka 客户端依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</a…...
【知识点随笔分析】我看看谁还不会用CURL命令
目录 前言: CURL介绍: CURL的基本使用: CURL与PING命令的区别: CURL命令的应用: 总结: 前言: 当今互联网时代,与服务器进行数据交互成为了无法回避的需求。无论是获取Web…...
ICCV 2023|Occ2Net,一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法...
本文为大家介绍一篇入选ICCV 2023的论文,《Occ2Net: Robust Image Matching Based on 3D Occupancy Estimation for Occluded Regions》, 一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法。 论文链接:https://arxiv.org/abs/23…...
leetcode - 14. Longest Common Prefix
Description Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string “”. Example 1: Input: strs ["flower","flow","flight"] Output: "…...
MySQL-查询语句语法(DQL)结构(查询操作 一)
SQL语句 编写顺序 - 执行顺序 1、SELECT 字段列表 4 2、FROM 表名列表 1 3、WHERE 条件列表 2 4、GROUP BY 分组字段列表 …...
SWAT-MODFLOW地表水与地下水耦合
耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果,SWAT作为一个地表水模型可以较好的模拟主要的水文过程,包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等,但是对于地下水部分的模拟相对粗糙,考虑到SWAT…...
工地临时用电之智慧用电:全方位保障用电安全
随着科技进步和智能化的发展,工地用电管理也迎来了智慧化的革新。智慧用电,作为智慧工地的重要组成部分,通过集中式管理和创新的技术手段,为工地提供了全方位的用电安全保障。 针对工地临时用 的现状及系统结构,力安科…...
JumpServer开源堡垒机与爱可生云树数据库完成兼容性认证
近日,中国领先的开源软件提供商FIT2CLOUD飞致云宣布,JumpServer开源堡垒机已经完成与爱可生云树数据库软件的兼容性认证。经过双方联合测试,云树数据库软件(简称:ActionDB)V1.0与杭州飞致云信息科技有限公司…...
信息化发展64
信息化体系 信息化代表了一种信息技术被高度应用,信息资源被高度共享,从而使得人的智能潜力以及社会物质资源潜力被充分发挥,个人行为、组织决策和社会运行趋于合理化的理想状态。 1997年召开的首届全国信息化工作会议,对信息化和…...
什么是全媒体整合营销?如何做好全媒体整合营销呢?
互联网发展进入深水区,目前营销大部分工作都与网络有关,网络营销形成各种分支,媒体平台的类型越来越多,如今的互联网发展背景下企业如何做好网络营销呢?小马识途营销顾问团队普遍认为企业当今应该开展的全媒体整合营销…...
系统集成|第十六章(笔记)
目录 第十六章 信息(文档)和配置管理16.1 文档管理16.2 配置管理 上篇:第十五章、采购管理 下篇:第十七章、变更管理 第十六章 信息(文档)和配置管理 16.1 文档管理 信息系统项目相关信息(文档…...
hive数据库操作,hive函数,FineBI可视化操作
1、数据库操作 1.1、创建数据库 create database if not exists myhive;use myhive;1.2、查看数据库详细信息 desc database myhive;数据库本质上就是在HDFS之上的文件夹。 默认数据库的存放路径是HDFS的:/user/hive/warehouse内 1.3、创建数据库并指定hdfs存…...
信息学奥赛一本通 2075:【21CSPJ普及组】插入排序(sort) | 洛谷 P7910 [CSP-J 2021] 插入排序
【题目链接】 ybt 2075:【21CSPJ普及组】插入排序(sort) 洛谷 P7910 [CSP-J 2021] 插入排序 【题目考点】 1. 排序: 插入排序 插入排序示例: #include <bits/stdc.h> using namespace std; int main() {int…...
基于微信小程序的民宿短租酒店预订系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...
Python第二次作业(2)【控制台界面】
要求:使用Python输出五个控制台界面 第一张: 代码如下: print(" 英雄联盟商城登录界面 ") print("~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*") print(" 1.用户登录 &q…...
conda创建环境在Collecting package metadata (current_repodata.json)时报错的解决
conda创建环境在Collecting package metadata (current_repodata.json)时报错的解决 报错信息: Collecting package metadata (current_repodata.json): - ERROR conda.auxlib.logz:stringify(171): Traceback (most recent call last): File “C:\Users\dandelion…...
卤制品配送经营商城小程序的用处是什么
卤制品也是食品领域重要的分支,尤其对年轻人来说,只要干净卫生好吃价格合理,那复购率宣传性自是不用说,而随着互联网发展,传统线下门店也须要通过线上破解难题或进一步扩大生意。 而商城小程序无疑是商家通过线上私域…...
信息化发展65
1.2现代化基础设施 基础设施包括交通、能源、水利、物流等以传统基础设施和信息网络为核心的新型基础设施,在国家发展全局中具有战略性、基础性、先导性作用。统筹推进传统基础设施和新型基础设施建设,打造系统完备、高效实用、智能绿色、安全可靠的现代…...
pytho实例--pandas读取表格内容
前言:由于运维反馈帮忙计算云主机的费用,特编写此脚本进行运算 如图,有如下excel数据 计算过程中需用到数据库中的数据,故封装了一个读取数据库的类 import MySQLdb from sshtunnel import SSHTunnelForwarderclass SSHMySQL(ob…...
处理飞书在线文档导出Word后无法自动编号问题
处理飞书在线文档导出Word后无法自动编号问题 解题思路:处理效果处理代码测试数据 最近工作中经常编写一些文档,有些文档需要多人协作完成。这两天需要完成一个可研的初稿,同事使用了飞书的在线文档。第一次使用飞书进行文档协作,…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
Java并发编程实战 Day 11:并发设计模式
【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天,今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案,它们不仅提供了优雅的设计思路,还能显著提升系统的性能…...
【题解-洛谷】P10480 可达性统计
题目:P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M,接下来 M M M 行每行两个整数 x , y x,y x,y,表示从 …...
基于Java项目的Karate API测试
Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...
