Langsung ke konten

Arsip

Resiliensi

3 artikel
Rekayasa Perangkat Lunak 21 Sep 2026 6 min read

Circuit Breaker Membatasi Kegagalan Berantai

Circuit Breaker Membatasi Kegagalan Berantai Dependency yang lambat atau gagal dapat menghabiskan kapasitas di luar komponen itu sendiri. Caller menunggu, melakukan retry, menahan socket, memakai worker slot, dan mempertahankan memory selama request belum selesai. Saat tekanan merambat ke upstream, gangguan lokal dapat berubah menjadi saturasi pada seluruh service. Circuit breaker menempatkan gate berstate di sekitar call menuju dependency tersebut. Breaker mengamati outcome, masuk ke state open ketika kebijakan failure terpenuhi, menolak call selama periode tertentu, lalu mengizinkan sejumlah kecil probe. Probe yang berhasil dapat mengembalikan breaker ke traffic normal; probe yang gagal mengembalikannya ke state open.

Rekayasa Perangkat Lunak 20 Sep 2026 4 min read

Circuit Breaker Membatasi Panggilan Berulang ke Dependency yang Gagal

Circuit Breaker Membatasi Panggilan Berulang ke Dependency yang Gagal Dependency remote dapat gagal dengan cara yang lambat sekaligus mahal. Request menunggu timeout, worker tetap terpakai, retry menambah traffic, dan service lokal dapat kehilangan kapasitas walaupun kodenya sendiri tetap sehat. Circuit breaker menempatkan keputusan berbasis state di depan jalur panggilan tersebut. Selama dependency bekerja dalam batas yang dapat diterima, panggilan diteruskan. Setelah kondisi kegagalan yang ditetapkan tercapai, breaker masuk ke state open dan menolak panggilan baru secara lokal selama periode terbatas. Setelah itu, sejumlah kecil probe diizinkan sebelum traffic normal dapat kembali.

Rekayasa Perangkat Lunak 19 Sep 2026 6 min read

Circuit Breaker Membatasi Trafik Kegagalan Lintas Panggilan Service

Circuit breaker mengubah keputusan admission untuk panggilan keluar sebelum dependency menerimanya. Pada state closed, panggilan diteruskan dan hasilnya menjadi input bagi kebijakan kegagalan. Setelah kebijakan tersebut terpicu, breaker masuk ke state open dan menolak panggilan berikutnya secara lokal. Setelah interval pemulihan yang dikonfigurasi berakhir, sejumlah terbatas panggilan probe dapat menguji apakah dependency sudah dapat dipakai kembali. Mekanisme ini berbeda dari retry. Retry mengirim percobaan lain setelah sebuah percobaan gagal. Breaker dapat mencegah sebuah percobaan dikirim sama sekali. Menggabungkan keduanya tanpa urutan yang presisi dapat memperbesar trafik saat terjadi gangguan atau mempertahankan breaker dalam state open berdasarkan sinyal yang tidak merepresentasikan kondisi dependency.