gw-06 — Execution
Prerequisites
- Go ≥ 1.25 (stdlib only, offline).
One-shot
cd gw-06-resilience-load-balancing && bash scripts/verify.sh # tests + retry-storm demo
Per-language workflow (Go)
cd gw-06-resilience-load-balancing/src/go
go test -race -count=1 ./... # P2C, ejection, adaptive limiter, budget, breaker
go run ./cmd/resilsim # metastability vs retry budget
Package map
| File | What |
|---|---|
resil/balancer.go | P2C + EWMA scoring + outlier ejection + panic threshold |
resil/limiter.go | adaptive concurrency limiter (Little's Law / gradient), shed-at-admission |
resil/budget.go | retry budget (token bucket) + circuit breaker (CLOSED/OPEN/HALF-OPEN) |
cmd/resilsim | retry-storm / metastable-failure demonstration |
resilsim output (what to look for)
naiveoffered load stays pinned over capacity after the spike clears (metastable collapse).budgetedreturns to baseline immediately (recovered).
See GUIDE.md for the full toolkit and the composed call-path.