Latihan 1 dari materi Resilience Patterns di System Design — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Implementasikan class CircuitBreaker sederhana:
constructor(failureThreshold): mulai di state "closed".recordSuccess(): reset failure counter ke 0; jika state "half-open" → kembali ke "closed".recordFailure(): tambah counter. Dari "closed": jika counter minimal failureThreshold → pindah ke "open". Dari "half-open": langsung kembali ke "open".tryReset(): dipanggil setelah timeout; jika state "open" → pindah ke "half-open" (sekali trial).state: property yang bisa dibaca langsung.Satu siklus: closed → (banyak fail) → open → (tryReset) → half-open → (success) → closed, atau half-open → (failure) → open.