All Products
Search
Document Center

EventBridge:Kebijakan retry dan dead-letter queue

Last Updated:Mar 12, 2026

Aliran event di EventBridge menggunakan kebijakan retry, kebijakan toleransi kesalahan, dan dead-letter queue (DLQ) untuk menangani kegagalan pengiriman event. Ketika pengiriman ke target gagal, EventBridge melakukan retry berdasarkan kebijakan retry yang dikonfigurasi. Jika semua upaya retry telah habis, kebijakan toleransi kesalahan menentukan apakah event yang gagal akan dilewati atau aliran akan diblokir. Event yang tidak dapat dikirim dialihkan ke DLQ agar tetap tersimpan untuk pemeriksaan lebih lanjut.

Diagram berikut menunjukkan bagaimana ketiga kebijakan ini saling berinteraksi:

Event delivery fails
       |
       v
  Retry policy
  (backoff or exponential decay)
       |
  All retries exhausted?
     /        \
   No          Yes
   |            |
  Retry     Fault tolerance policy
  again       /              \
        Allowed           Prohibited
          |                    |
     DLQ configured?     Stream blocked,
       /       \         task status -> Ready
     Yes        No
      |          |
  Send to     Discard
   DLQ        event

Kebijakan retry

Kebijakan retry mengatur cara EventBridge mencoba kembali mengirimkan event setelah terjadi kegagalan. Setiap aliran event mendukung dua jenis kebijakan retry:

PolicyMax retriesRetry intervalMax durationDefault
Backoff retry3Acak, 10–20 detik antar upayaYa
Exponential decay retry176Dimulai dari 1 dtk, berlipat ganda hingga 512 dtk1 hariTidak

Backoff retry

Backoff retry adalah kebijakan default. EventBridge mencoba mengirim ulang event yang gagal hingga tiga kali, dengan interval acak antara 10 hingga 20 detik antara setiap upaya. Gunakan kebijakan ini jika Anda memperkirakan kegagalan bersifat sementara dan dapat segera teratasi.

Exponential decay retry

Exponential decay retry menyediakan jendela retry yang lebih panjang untuk target yang mungkin memerlukan waktu lebih lama untuk pulih. EventBridge mencoba mengirim ulang event yang gagal hingga 176 kali dalam periode maksimum satu hari. Interval antar upaya berlipat ganda pada setiap percobaan, hingga mencapai batas maksimum 512 detik:

1 s, 2 s, 4 s, 8 s, 16 s, 32 s, 64 s, 128 s, 256 s, 512 s

Setelah interval mencapai 512 detik, 167 upaya retry berikutnya dilanjutkan dengan interval tetap 512 detik.

Non-retryable errors

Catatan

Jika retry tidak dapat dilakukan karena error seperti konfigurasi resource yang tidak valid, status task berubah menjadi Start Failed terlepas dari kebijakan retry atau toleransi kesalahan yang digunakan. EventBridge tidak melakukan retry terhadap error semacam ini karena masalah mendasarnya memerlukan intervensi manual.

Kebijakan toleransi kesalahan

Kebijakan toleransi kesalahan mengatur cara EventBridge menangani event yang tetap gagal setelah semua retry telah habis. Setiap aliran event mendukung dua jenis kebijakan toleransi kesalahan:

PolicyBehavior after retries exhaustedEffect on subsequent events
Fault tolerance allowedEvent dikirim ke DLQ (jika dikonfigurasi) atau dibuangPemrosesan berlanjut
Fault tolerance prohibitedStatus task berubah menjadi ReadyPemrosesan diblokir hingga Anda menyelesaikan masalah

Fault tolerance allowed

Saat toleransi kesalahan diizinkan, kegagalan pengiriman tidak menghentikan pemrosesan event. Setelah semua retry habis, EventBridge mengirimkan event ke DLQ atau membuangnya, lalu melanjutkan pemrosesan.

Pilih kebijakan ini jika kehilangan event dapat diterima atau jika Anda telah mengonfigurasi DLQ untuk menangkap event yang gagal.

Fault tolerance prohibited

Saat toleransi kesalahan dilarang, kegagalan pengiriman akan memblokir pemrosesan event setelah semua retry habis. Status task berubah menjadi Ready, dan tidak ada event selanjutnya yang diproses hingga Anda menyelesaikan masalah tersebut.

Pilih kebijakan ini jika setiap event harus dikirimkan dan Anda lebih memilih menghentikan pemrosesan daripada kehilangan event.

Antrian Surat Mati

Dead-letter queue (DLQ) menangkap event yang gagal dikirim setelah semua retry habis. Saat Anda mengaktifkan DLQ pada suatu task, EventBridge mengirimkan data event mentah ke DLQ alih-alih membuangnya. Fitur DLQ dinonaktifkan secara default.

Target DLQ yang didukung

Layanan berikut didukung sebagai target DLQ:

ServiceDescription
ApsaraMQ for RocketMQLayanan message queue
Simple Message Queue (formerly MNS)Layanan message queue ringan
ApsaraMQ for KafkaLayanan message queue kompatibel Kafka
EventBridge event busMengarahkan event yang gagal ke event bus lain untuk pemrosesan lebih lanjut

Kapan mengaktifkan DLQ

Aktifkan DLQ saat Anda perlu:

  • Memeriksa dan mendebug event yang gagal dikirim

  • Memproses ulang event yang gagal setelah akar masalah diperbaiki

  • Mencatat semua kegagalan pengiriman untuk keperluan audit

Catatan

Jika Anda menggunakan kebijakan Fault tolerance allowed tanpa DLQ, event yang gagal akan dibuang secara permanen setelah retry habis. Untuk mencegah kehilangan data, konfigurasikan DLQ sebelum mengaktifkan toleransi kesalahan.