如何解决HystrixCommand请求被拒绝,默认配置不被覆盖
我正在使用HystrixCommand强制长时间运行的查询超时。哪个工作正常。查询配置的时间超时。 但是如果负载断路器打开并且开始拒绝该请求,并且出现以下错误。
从java.util.concurrent.ThreadPoolExecutor@51cd4319中拒绝的任务java.util.concurrent.FutureTask@59c4b527 [正在运行,池大小= 10,活动线程= 10,排队的任务= 0,已完成的任务= 12759]
我试图覆盖Archaius为线程池提供的默认配置(例如corepool大小,最大池大小,队列大小等。)。但不知何故没有效果。以下是我的application.yml文件中的配置。
hystrix: 命令: queryTimeOutHandler: 执行: 隔离: 线: 超时以毫秒为单位:600000 线程池: queryTimeOutHandler: 核心大小:200 最大尺寸:200 maxQueueSize:100 queueSizeRejectionThreshold:100 allowMaximumSizeToDivergeFromCoreSize:true
因此,在配置中,我期望线程数应该为200。它应该一次处理200个请求,并且应该将100个队列。但不幸的是它没有发生。
如何在生产环境中运行的应用程序中检查我的配置?
解决方法
您需要覆盖“ execution.isolation.semaphore.maxConcurrentRequests”
请参阅下面的详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。