@ -0,0 +1,38 @@
package com.soa.microservice.core;
/**
* 断路器接口
* 实现熔断器模式,防止故障级联传播
*/
public interface CircuitBreaker {
* 尝试执行操作
* @return 是否允许执行
boolean allowRequest();
* 记录成功请求
void recordSuccess();
* 记录失败请求
void recordFailure();
* 获取当前断路器状态
* @return 断路器状态
State getState();
* 断路器状态枚举
enum State {
CLOSED, // 关闭状态,允许请求通过
OPEN, // 打开状态,拒绝请求
HALF_OPEN // 半开状态,允许有限请求通过以探测服务是否恢复
}