From 56dbe95076a231a7d218a9a8c4c4043ff652f6c5 Mon Sep 17 00:00:00 2001 From: pf5ub3a78 <1162620239@qq.com> Date: Sun, 2 Nov 2025 21:23:39 +0800 Subject: [PATCH] ADD file via upload --- CircuitBreaker.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 CircuitBreaker.java diff --git a/CircuitBreaker.java b/CircuitBreaker.java new file mode 100644 index 0000000..a15d051 --- /dev/null +++ b/CircuitBreaker.java @@ -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 // 半开状态,允许有限请求通过以探测服务是否恢复 + } +} \ No newline at end of file