- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
鉴于 Hystrix 进入维护模式,我一直致力于将(相当大的)代码库迁移到 Resilience4j。
我在 Hystrix 中大量使用以下模式:
new HystrixCommand<SomeReturnValue>(DependencyKeys.DEPENDENCY) {
@Override
protected SomeReturnValue run() {
return someExpensiveCall();
}
}
.observe()
resilience.single(DependencyKeys.DEPENDENCY, this::someExpensiveCall);
Resilience
类提供了
single
方法:
public <T> Single<T> single(ResilienceKey key, Callable<T> callable) {
return Completable.complete()
.subscribeOn(Schedulers.computation())
.observeOn(configuration.scheduler(key))
.andThen(Single.defer(() -> Single.fromCallable(callable)
.lift(CircuitBreakerOperator.of(configuration.circuitBreaker(key)))
.lift(RateLimiterOperator.of(configuration.rateLimiter(key)))
.lift(BulkheadOperator.of(configuration.bulkhead(key)))
))
.observeOn(Schedulers.computation());
}
Completable.complete()
启动链条只是为了我可以强制
observeOn
在实际可调用文件被包装之前。
最佳答案
我认为没有直接替代HystrixCommand
在 Resilience4j
.
最相似的是CircuitBreaker.decorateCompletionStage
或 CircuitBreaker.executeCompletionStage
.使用此方法您可以装饰 CompletableFuture
上的任何类型。供应商。
其他选择是依赖我们与不同异步模块的集成,例如 rxjava2
或 reactor
.
当然,如果这些选项都不适合您,请不要忘记 Resilience4j
是一个非常无主见、模块化和可组合的库。通过使用我们的 3 个最低级别的方法,您可以将我们的断路器安装在任何类型的并发范例库中:
CircuitBreaker.isCallPermitted
CircuitBreaker.onError
CircuitBreaker.onSuccess
关于java - 将 HystrixCommands 迁移到 Resilience4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54238932/
我需要不时发送通知,我异步执行此任务。我正在使用 HystrixCommand 如下执行异步 RestTemplate 调用,但该调用不起作用: @HystrixCommand public
我的项目中有以下代码 @HystrixCommand(groupKey = "AddressRepository", commandKey = "getAddressById", threadPool
我有一个List>> commands ,执行这些命令并收集结果以便命令并行运行的最佳方法是什么? 我尝试过这样的事情: List> futures = commands.stream() .
用 @HystrixCommand 指定的回退方法使用 Eureka/Ribbon 感知 RestTemplate 配置时不会调用。 pom.xml .... org.spr
有没有办法得到 HystrixCommand 的原因使用 @HystrixCommand 时失败Spring Boot 应用程序中的注释?如果你实现自己的 HystrixCommand ,您可以访问
Spring Hystrix 仅适用于 @Service 和 @Component 吗? 我有一个定义为 @RestController 的类,我的 HystrixCommand 不会触发,该方法会执
鉴于 Hystrix 进入维护模式,我一直致力于将(相当大的)代码库迁移到 Resilience4j。 我在 Hystrix 中大量使用以下模式: new HystrixCommand(Depende
我不知道如何测试它,需要快速回答是否可能,以及我如何测试它。 所以我有一个来自服务的 API 网关调用,我想知道的是 Spring Boot 是否可以实现以下操作 @Component class G
我正在尝试使用 spring-hateoas 将 HATEOAS 应用于我的 spring boot 应用程序.在我将我的 REST 调用包装在 HystrixCommand 之前,这一直很好用: @
我正在使用 javanica 并像这样注释我的 hystrix 命令方法: @HystrixCommand(groupKey="MY_GROUP", commandKey="MY_COMMAND" f
我想了解 HystrixCommand 和 HystrixObservableCommand 之间的区别。我感到困惑的原因是 HysterixCommand 也有一个 observe() 或 toOb
使用spring的Hystrix注解described here 我想知道 commandKey 参数是什么。在以下上下文中,我想知道此参数的含义: @HystrixCommand(groupK
我有一个抽象类 public abstract class A { public String makeSomething(String ingredients){ throw
我有一个发出文件行的 Observable(从 GCS 读取的许多 GB)。 return StringObservable.byLine( Observable.using(
我正在使用 @HystrixCommand在 Java 服务器中创建回退。 这是我有的一种方法,但我遇到的问题是我想知道我是否可以在后备中投入使用? @HystrixCommand(fallbackM
我正在使用 @HystrixCommand在 Java 服务器中创建回退。 这是我有的一种方法,但我遇到的问题是我想知道我是否可以在后备中投入使用? @HystrixCommand(fallbackM
在我当前的项目中,我需要使用 Hystrix 进行请求回退处理(主要是请求超时回退)。我测试了一个简单的案例,即将 @HystrixCommand 注释放在一个 spring rest Control
在 Spring 应用程序(不是 spring-boot)中,我在同一个 bean 方法上使用 javanica @HystrixCommand 注释和 spring cache @Cacheable
这似乎是 Glassfish 特有的问题。 当我们将同一应用程序的副本部署到 Jetty 时,我们能够通过 JConsole 查看 MBean 下的 Hystrix 指标。 但是,当将相同的应用程序部
我有以下方法: @Timed(value = "my.request.timer", percentiles = {0.5, 0.95}, histogram = true) publ
我是一名优秀的程序员,十分优秀!