我正在开展一个项目,我们将一些微服务从Spring-MVC转移到Spring-Webflux来测试反应范式 . 在hystrix的github存储库中寻找一些帮助,我们注意到该项目自一年前没有提交,并且它基于RxJava,因此与project-reactor存在一些不兼容性 .
我们在使用Hystrix时遇到了一些问题,特别是“Javanica”的注释不起作用,我们的开发人员需要使用Spring-Cloud中的HystrixCommands . 事实上,Hystrix显然会创建自己的线程池,而不是反应堆 .
达到这一点我的问题不是如何在Spring Boot 2.0中使用Hystrix,但是如果必须在HystrixCommand中包含来自我们的微服务的所有外部调用,或者只是使用Reactor方法(timeout,onError,retry等),我们可以避免这种包装 .
1 回答
您可以使用内置的Reactor方法替换许多hystrix功能(timeout,retry,limitRate,onError ...) .
对于断路器,您可以使用Resilience4j . 很容易将它嵌入到现有的Reactor代码中