-
Notifications
You must be signed in to change notification settings - Fork 448
Closed
Labels
area/circuit-breakingIssues or PRs related to circuit breakingIssues or PRs related to circuit breakingkind/featureCategory issues or PRs related to feature requestCategory issues or PRs related to feature request
Milestone
Description
Issue Description
Circuit breaker
Describe what feature you want
|
|
|
|
| update rules dynamically
|
|
|
+-------------------------+-------------------------------------------------------------------------------------------------------------------+
entry | | Circuit Breaker Slot |
| v |
--------------+-> |
| |
| +-----------------------------+ +-----------------------------+ +-----------------------------+ +-----------------------------+ |
| | +-------------------------+ | | +-------------------------+ | | +-------------------------+ | | +-------------------------+ | |
| | | | | | | | | | | | | | | | | |
| | | AverageRtBreakerRule | | | | ErrorRatioBreakerRule | | | | ErrorCountBreakerRule | | | | XXXBreakerRule | | |
| | | | | | | | | | | | | | | | | |
| | +-----------^-------------+ | | +------------^------------+ | | +-----------^-------------+ | | +------------^------------+ | |
| | | +--->| | +--->| | +-->| | | |
| | +-----------+-------------+ | | +------------+------------+ | | +-----------+-------------+ | | +------------+------------+ | |
| | | AverageRtCircuitBreaker | | | |ErrorRatioCircuitBreaker | | | |ErrorCountCircuitBreaker | | | | XXXCountCircuitBreaker | | |
| | | .CanPass()? | | | | .CanPass()? | | | | .CanPass()? | | | | .CanPass()? | | |
| | | | | | | | | | | | | | | | | |
| | +-------------------------+ | | +-------------------------+ | | +-------------------------+ | | +-------------------------+ | |
| +-----------------------------+ +-----------------------------+ +-----------------------------+ +-----------------------------+ |
| |
+---------------------------------------------------------------------------------------------------------------------------------------------+
There are Four main entity:
XXXBreakerRule: rule status machine
XXXCircuitBreaker: the check logic whether
RuleManager: manage all XXXCircuitBreakers and update rules dynamically.
CircuitBreakerSlot: As a CheckSlot to encapsulate all logic about circuit breaker.
Metadata
Metadata
Assignees
Labels
area/circuit-breakingIssues or PRs related to circuit breakingIssues or PRs related to circuit breakingkind/featureCategory issues or PRs related to feature requestCategory issues or PRs related to feature request