Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Otomasi Alur Kerja: Trigger, Kondisi, dan Penanganan Gagal

Pelajaran 8 dari 14

Galat, timeout, coba ulang, dan backoff

Coba ulang dengan backoff eksponensial

Setelah pelajaran ini kamu bisa menghitung jadwal jeda coba ulang dari jeda awal, faktor pengali, batas percobaan ulang, dan jeda maksimum, serta menilai total waktunya.

±13 menitDiperiksa 7 Okt 2026

Materi

Coba ulang tanpa jeda menambah beban pada layanan yang sedang kewalahan. AWS Builders' Library menyebut jalan keluarnya backoff: klien menunggu di antara percobaan, dan pada backoff eksponensial jeda itu dikalikan setiap kali gagal. Karena fungsi eksponensial tumbuh cepat, jedanya dibatasi nilai maksimum (capped exponential backoff), dan jumlah percobaan ulangnya juga dibatasi.

Step Functions menulis kebijakan ini sebagai field Retry. Dengan IntervalSeconds 3, BackoffRate 2, dan MaxAttempts 3, percobaan ulang pertama terjadi 3 detik setelah galat, kedua 6 detik sesudahnya, dan ketiga 12 detik sesudahnya. MaxDelaySeconds 5 memotong deret itu menjadi 3, 5, 5. MaxAttempts menghitung percobaan ulang, tidak termasuk percobaan pertama. Nama field dan nilai bawaannya milik AWS; alat lain memakai nama sendiri, tetapi hitungannya sama.

// Jeda awal 2 detik, dikali 3 setiap gagal, paling lama 30 detik, maksimal 4 percobaan ulang
// ulang ke-1: 2
// ulang ke-2: 2 × 3 = 6
// ulang ke-3: 6 × 3 = 18
// ulang ke-4: 18 × 3 = 54, dipotong menjadi 30
// total jeda bila semuanya gagal: 2 + 6 + 18 + 30 = 56 detik

Jitter menambahkan jeda acak supaya banyak klien tidak mencoba ulang pada detik yang sama. Karena acak, jitter dimatikan di latihan ini agar hasilnya tetap. Azure Architecture Center mengingatkan bahwa total waktu seluruh percobaan, yaitu timeout setiap percobaan ditambah semua jeda, harus tetap di bawah batas waktu yang dijanjikan alurnya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Kebijakan coba ulang langkah kirim resi: jeda awal 4 detik, faktor 2, maksimal 4 percobaan ulang, jeda maksimum 20 detik, tanpa jitter. Bila semua percobaan gagal, berapa detik total jeda menunggu di antara percobaan?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke