Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack
Feign设置单独接口的超时时间和FallBack(HystrixCommonKey)
HystrixCommonKey生成方法:类名#方法名(入参类型)
final class Default implements SetterFactory {
@Override
public HystrixCommand.Setter create(Target<?> target, Method method) {
String groupKey = target.name();
// 在这里生产HystrixCommonKey
String commandKey = Feign.configKey(target.type(), method);
return HystrixCommand.Setter
.withGroupKey(HystrixCommandGroupKey.Factory.asKey(groupKey))
.andCommandKey(HystrixCommandKey.Factory.asKey(commandKey));
}
}
配置如下:
hystrix:
threadpool:
default:
# 核心线程池大小 默认10
coreSize: 20
# 最大最大线程池大小
maximumSize: 30
# 此属性允许maximumSize的配置生效。 那么该值可以等于或高于coreSize。 设置coreSize <maximumSize会创建一个线程池,该线程池可以支持maximumSize并发,但在相对不活动期间将向系统返回线程。 (以keepAliveTimeInMinutes为准)
allowMaximumSizeToDivergeFromCoreSize: true
# 请求等待队列
maxQueueSize: 10
# 队列大小拒绝阀值 在还未超过请求等待队列时也会拒绝的大小
queueSizeRejectionThreshold: 10
command:
LimitCheckApi#rcsLimitCheck(RpcRequest): #default全局有效 默认值为 commonKey commonKey生成方法在 Feign.configKey(target.type(), method) 中
fallback:
enabled: true
execution:
timeout:
#如果enabled设置为false,则请求超时交给ribbon控制,为true,则超时作为熔断根据
enabled: true
isolation:
#隔离策略,有THREAD和SEMAPHORE
#THREAD - 它在单独的线程上执行,并发请求受线程池中的线程数量的限制
#SEMAPHORE - 它在调用线程上执行,并发请求受到信号量计数的限制
#对比:https://www.cnblogs.com/java-synchronized/p/7927726.html
thread:
timeoutInMilliseconds: 800 #断路器超时时间,默认1000ms
LimitCheckApi#testTimeOutFallBack(long):
fallback:
enabled: true
execution:
timeout:
#如果enabled设置为false,则请求超时交给ribbon控制,为true,则超时作为熔断根据
enabled: true
isolation:
#隔离策略,有THREAD和SEMAPHORE
#THREAD - 它在单独的线程上执行,并发请求受线程池中的线程数量的限制
#SEMAPHORE - 它在调用线程上执行,并发请求受到信号量计数的限制
#对比:https://www.cnblogs.com/java-synchronized/p/7927726.html
thread:
timeoutInMilliseconds: 800 #断路器超时时间,默认1000ms
feign:
hystrix:
enabled: true
---------------------
作者:lantao_csdn
来源:CSDN
原文:https://blog.csdn.net/qq_30257149/article/details/86512197
版权声明:本文为博主原创文章,转载请附上博文链接!
Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack相关推荐
- Java 调用接口工具类并设置请求和传输超时时间
废话不多说直接上代码 /*** 接口调用工具类* @Author: MonsterTiny* @Date: 2020-07-23 10:06*/ public class HttpClientUtil ...
- 单独某个设置feign接口的超时时间
1.在配置文件里配置:hystrix:enabled: true feign:httpclient.enable: falseokhttp.enable: true# 开启熔断hystrix:enab ...
- java接口超时设置_java接口请求超时处理方法
//********* // 成员内部类 class CallableThread implements Callable { @Override public Result call() { try ...
- ribbon设置url级别的超时时间
为什么80%的码农都做不了架构师?>>> ##序 ribbon的超时设置,只能按转发的serviceId来分的,无法像nginx那样直接在每个转发的链接里头设置超时时间.这里h ...
- 单个接口添加超时时间_SpringBoot使用Guava令牌桶对接口限流
pom.xml引入jar包 com.google.guava guava 29.0-jre 代码 @RestControllerpublic class HelloController { //创建令 ...
- 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!
微服务是⼀种分布式架构,系统内各部分(服务)被部署为单独的应用程序,并通过某种远程访问协议进⾏通讯.分布式应⽤的挑战之⼀就是如何管理远程服务的可用性和它们的响应.本⽂主要探讨服务的响应时间对系统的影响 ...
- python怎么设置代码执行时间_Python 2.x如何设置命令执行的超时时间实例
前言 在Python2.x中的几个用来执行命令行的库或函数在执行命令是均不能设置一个命令执行的超时时间,用来在命令执行时间超时时终端这个命令的执行,这个功能在3.x(?)中解决了,但是在2.x还是只能 ...
- java 接口定义超时时间,超时抛出异常,并且任务继续触发
第一种普通线程: package com.zz.meridian;import java.util.concurrent.*;/*** java 多线程调用接口超时处理*/ public class ...
- 同时设置超时时间_刚入职的小菜鸡,设错了RPC超时,搞了个线上事故
上面这张监控图,对于服务端的研发同学来说再熟悉不过了.在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题. 尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结 ...
最新文章
- 改善AI性别偏见的4种方法 | CSDN博文精选
- python三十三节_第三十三节,sys解释器相关模块
- NSArray打印汉字的方法
- 数据结构(五)---栈的链式存储的实现---java版
- 标准c语言与c51的区别,单片机学习笔记5-C51语言与标准C语言的比较
- mysql alter 语句用法,添加、修改、删除字段等
- JZOJ 3504. 运算符(calc)
- Python爬虫实战03:用Selenium模拟浏览器爬取淘宝美食
- 学报格式和论文格式一样吗_社科类学报字数要求及投稿注意事项
- 狂人传记:戎马半生 何以安家
- 本地项目部署到服务器 启动 报错 数据表不存原因 解决
- Unity3D不同脚本函数或参数之间调用
- PHP 导出excel合并相同数据单元格
- Mugeda:代码分享
- 福师电子计算机主要以,福师《计算机应用基础》在线作业一 电子计算机主要以划分发展阶段...
- Macbook 修改照片的大小
- HCIA-IoT 个人学习总结 Day4
- 关于出现Merge remote-tracking branch ‘origin/develop‘ into develop这种commit记录的原因
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛
- 如何平衡老师任务和自学之间的关系