Langsung ke konten

Arsip

Resilience

2 artikel
Rekayasa Perangkat Lunak 20 Sep 2026 5 min read

Hedged Request Menukar Kerja Tambahan dengan Tail Latency yang Lebih Rendah

Sebuah service dapat memiliki median latency yang sehat tetapi sesekali menghasilkan request yang jauh lebih lambat daripada request lain. Queueing, replica yang lambat, connection setup, garbage collection, storage stall, atau gangguan network sementara dapat menahan satu attempt sementara kapasitas ekuivalen di jalur lain masih tersedia. Hedged request membatasi paparan terhadap satu jalur lambat tersebut. Client memulai satu attempt seperti biasa. Jika attempt itu masih pending setelah jeda yang ditentukan, client dapat memulai attempt ekuivalen kedua. Hasil layak pertama dipakai, lalu attempt yang tersisa dibatalkan jika cancellation didukung.

Rekayasa Perangkat Lunak 19 Sep 2026 6 min read

Circuit Breaker Membatasi Amplifikasi Kegagalan Antar-Service

Sebuah service call dapat gagal dengan cepat tetapi tetap menimbulkan masalah yang lebih besar pada sistem. Ketika setiap request upstream terus memanggil dependency downstream yang sedang gagal, setiap percobaan menghabiskan kapasitas koneksi, waktu worker, retry budget, dan ruang queue. Dependency menerima traffic yang belum mampu dilayaninya, sementara caller menghabiskan resource untuk menunggu hasil yang sangat berkorelasi dengan kegagalan sebelumnya. Circuit breaker menempatkan batas keputusan yang memiliki state di depan call tersebut. Alih-alih memperlakukan setiap request sebagai kesempatan terpisah untuk mencoba dependency, breaker mencatat state kegagalan terbaru dan dapat menolak call secara lokal selama interval terbatas. Pemulihan kemudian diuji melalui probe terkontrol, bukan dengan langsung mengembalikan seluruh traffic.