Timeout Budget: Menentukan Kapan Harus Menyerah
Timeout yang dipasang asal sering salah. Terlalu pendek, panggilan sehat terputus; terlalu panjang, pengguna menunggu lalu pergi. Timeout budget mengatur waktu secara sadar lintas hop.
Anggaran total
Tetapkan anggaran untuk seluruh permintaan (misal 3 detik). Setiap hop downstream mendapat porsi dari anggaran, bukan timeout penuh sendiri. Hop terakhir tidak boleh menghabiskan seluruh waktu.
Propagasi deadline
Sampaikan deadline ke downstream lewat header. Layanan penerima tahu sisa waktu dan menyerang tugas yang realistis, bukan memulai pekerjaan yang tak akan selesai.
Fail fast bila habis
Bila anggaran habis, gagal cepat dan kembalikan respons sebagian yang berguna bila memungkinkan. Menunggu penuh lalu gagal adalah pengalaman terburuk bagi pengguna.