Java中间件-Resilience4j

核心组建

组件名称 功能

resilience4j-circuitbreaker Circuit breaking

resilience4j-ratelimiter 频率控制

resilience4j-bulkhead 依赖隔离&负载保护

resilience4j-retry 自动重试

resilience4j-cache 应答缓存

resilience4j-timelimiter 超时控制

Resilience4j是一个轻量级、易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计。

Resilience4j提供高阶函数(decorators)来增强任何功能接口、lambda表达式或方法引用,包括断路器、速率限制器、重试或舱壁。可以在任何函数接口、lambda表达式或方法引用上使用多个装饰器。

circuitbreaker组件实现了断路器功能,是基于内存的断路器,采用

ConcurrentHashMap来实现。

舱壁(Bulkhead)

Resilience4j提供了两种舱壁模式的实现,可用于限制并发执行的次数:

SemaphoreBulkhead(信号量舱壁,默认),基于Java并发库中的Semaphore实现。

FixedThreadPoolBulkhead(固定线程池舱壁),它使用一个有界队列和一个固定线程池。

SemaphoreBulkhead应该在各种线程和I / O模型上都能很好地工作。它基于信号量,与Hystrix不同,它不提供“影子”线程池选项。取决于客户端,以确保正确的线程池大小将与舱壁配置保持一致。

信号量舱壁(Sem

你可能感兴趣的:(java,中间件,开发语言)