- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当您的 Hystrix 命令从 HystrixCommand
扩展时,您可以像这样为线程池指定队列大小:
..
.andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter()
.withMaxQueueSize(10)
.withQueueSizeRejectionThreshold(10));
但是当从 HystrixObservableCommand
扩展时,(显然)没有线程池来配置队列大小。但是,如果您仍然希望在 ExecutionIsolationSemaphoreMaxConcurrentRequests
达到其限制时允许对 HystrixObservableCommand
的排队请求怎么办?
最佳答案
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/
我有一些基本项目,其中有四个对某些外部资源的调用,在当前版本中同步运行。我想要实现的是将调用包装到 HystrixObservableCommand 中,然后异步调用它。 据我所知,在 Hystrix
我想了解 HystrixCommand 和 HystrixObservableCommand 之间的区别。我感到困惑的原因是 HysterixCommand 也有一个 observe() 或 toOb
我明白了 使用 hystrix 有好处包装下游服务调用。 此外,使用非阻塞 IO 调用下游服务还有几个优点。 (特别是在我的应用程序中,它通常是一种代理服务器) 另外,hystrix 有 Hystri
当您的 Hystrix 命令从 HystrixCommand 扩展时,您可以像这样为线程池指定队列大小: .. .andThreadPoolPropertiesDefaults(HystrixThre
我是一名优秀的程序员,十分优秀!