Netflix宣布停止开发Hystrix,建议使用Resilience4j,Resilience4j到底是什么鬼?Resilience4j最新版本为0.13.2,无论是案例还是活跃度,都不及Hystrix,带着这些疑问,让我们来了解一下Resilience4j。
首先,我先简单对比一下二者。
-
实际上Resilience4j的灵感来自于Hystrix,同样是轻量级的分布式容错方法库,比Hystrix的功能更丰富一些;
-
Hystrix是基于Command模式的,而Resilience4j利用了Java 8 的函数式编程思想;
-
Hystrix需要依赖于Archaius,Archaius又依赖于第三方库Guava和Apache Commons Configuration,而Resilience4j只依赖Vavr库(前身是Javaslang)。
Resilience4j的核心模块包括断路器、限流、隔离舱、重试、缓存等,他们都是独立编译的,如果你仅仅需要其中的一部分,则可以部分引入。
-
resilience4j-circuitbreaker: Circuit breaking
-
resilience4j-ratelimiter: Rate limiting
-
resilience4j-bulkhead: Bulkheading
-
resilience4j-retry: Automatic retrying (sync and async)
-
resilience4j-cache: Response caching