gpt4 book ai didi

java - HystrixObservableCommand 的 Hystrix 队列大小?

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:23 27 4
gpt4 key购买 nike

当您的 Hystrix 命令从 HystrixCommand 扩展时,您可以像这样为线程池指定队列大小:

..
.andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter()
.withMaxQueueSize(10)
.withQueueSizeRejectionThreshold(10));

但是当从 HystrixObservableCommand 扩展时,(显然)没有线程池来配置队列大小。但是,如果您仍然希望在 ExecutionIsolationSemaphoreMaxConcurrentRequests 达到其限制时允许对 HystrixObservableCommand 的排队请求怎么办?

  1. Hystrix 是否为此提供任何支持,或者这是您必须自己推出的东西吗?
  2. 如果是后者,那么您将如何以惯用的方式实现它?

最佳答案

Hystrix 并行处理由阻塞队列处理,Hystrix 实现似乎会在达到阻塞大小时拒绝请求(并执行回退方法)。似乎没有办法解决这个问题或专门检测请求是否因队列大小而被拒绝。

您可以在步骤 5 的流程中看到这一点。它们的线程池或信号量拒绝回退到默认值。它没有任何选项来配置任何额外的阻塞队列。

https://raw.githubusercontent.com/wiki/Netflix/Hystrix/images/hystrix-command-flow-chart.png

我不确定你会如何解决这个问题,这似乎是 Hystrix 库的一个限制/特性

关于java - HystrixObservableCommand 的 Hystrix 队列大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40719875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com