resilience4j(十一):核心模块Bulkhead源码之Bulkhead基于注解实现原理

@Bulkhead

原理是利用Spring Aop进行增强,@Bulkhead声明在Class上,该Class所有public method会做隔离处理,声明在特定method上,只有该特定method才会做隔离处理。

BulkheadAspect

Bulkhead利用BulkheadAspect作为切面容器进行隔离处理,实现org.springframework.core.Ordered,实现Pointcut按优先级切入。

TheResilience4j Aspects order is following:
Retry > CircuitBreaker > RateLimiter > Bulkhead

构造方法
    //Bulkhead基于SpringBoot的自动配置
	private final BulkheadConfigurationProperties bulkheadConfigurationProperties;
	/*Bulkhead注册容器,只能管理被Spring管理的bean创建的Bulkhead实例*/
	private final BulkheadRegistry bulkheadRegistry;
	//Bulkhead切面扩展默认支持(RxJava2BulkheadAspectExt、ReactorBulkheadAspectExt)
	private final List<BulkheadAspectExt> bulkheadAspectExts;

	public BulkheadAspect(BulkheadConfigurationProperties backe

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: