~/VibeHandbook
PDF Gratis

Cloudflare

developers.cloudflare.com

Queues

Apa itu ini

Bayangkan sebuah kedai kopi: kamu memesan di konter lalu pergi, dan seorang barista mengerjakan tiket pesanan satu per satu. Antrean () adalah barisan tiket itu. Cloudflare Queues adalah antrean pesan (message queue) terkelola untuk Workers yang dibangun berdasarkan ide ini. Satu Worker menaruh pesan ke dalam antrean (producer, seperti kasir yang menerima pesanan); Worker lain diberi kumpulan (batch) pesan-pesan tersebut untuk dikerjakan (consumer, seperti barista). Dengan cara ini kamu bisa memisahkan pekerjaan yang lambat atau tidak dapat diandalkan dari permintaan yang memicunya — terima permintaan dengan cepat, kerjakan tugasnya di latar belakang.

Kelebihan

  • Memisahkan producer dari consumer, sehingga meratakan lonjakan lalu lintas (traffic).
  • Batching otomatis, percobaan ulang (retries), dan dead-letter queue (area penampungan untuk pesan yang terus gagal) sehingga tidak ada yang hilang secara diam-diam.
  • Integrasi murni dengan Workers — producer dan consumer sama-sama Workers dengan bindings.
  • Tidak ada infrastruktur yang perlu dijalankan sendiri; skalanya menyesuaikan lalu lintasmu.
  • Menjamin pengiriman at-least-once (setidaknya sekali) sehingga pesan tidak hilang secara diam-diam.

Trade-off

  • Pengiriman at-least-once berarti consumer harus bersifat — artinya, aman dijalankan dua kali pada pesan yang sama tanpa menimbulkan masalah (menangani duplikat).
  • Bukan untuk respons instan yang sinkron — pekerjaan berjalan secara asinkron.
  • Urutan pesan bersifat best-effort (upaya terbaik), bukan urutan global yang ketat.
  • Throughput dan ukuran pesan punya batas yang perlu diperhitungkan saat merancang.

Kapan menggunakannya

Gunakan Queues untuk pekerjaan latar belakang: mengirim email, memproses unggahan (upload), memanggil (Application Programming Interface — antarmuka pemrograman aplikasi, yaitu yang dipakai untuk berbicara dengan layanan lain) pihak ketiga yang lambat, menyebarkan , atau menampung tulisan (buffering writes) — apa pun yang lebih baik tidak membuat pengguna menunggu.

Kecocokan dengan vibe coding

Queues adalah cara yang rapi bagi sebuah untuk menambahkan pemrosesan latar belakang tanpa perlu membangun broker sendiri. Minta agent membuat consumer-nya idempotent (gunakan kunci pesan/message key) dan mengatur dead-letter queue agar kegagalan terlihat jelas. Konfigurasi ini menghubungkan satu Worker sebagai producer sekaligus consumer dari sebuah antrean.

# wrangler.toml
[[queues.producers]]
queue = "jobs"
binding = "JOBS"

[[queues.consumers]]
queue = "jobs"
max_batch_size = 10
dead_letter_queue = "jobs-dlq"
npx wrangler queues create jobs
npx wrangler deploy