Lewati ke isi

AI & Otomasi

n8n Queue Mode, Kapan Perlu Worker Terpisah?

Kapan n8n perlu pindah dari mode biasa ke queue mode dengan Redis dan worker terpisah, apa syaratnya, dan kapan satu instance masih cukup.

Terbit 5 menit baca

Jawaban singkat

Queue mode memisahkan instance utama n8n (penerima pemicu dan webhook) dari worker yang menjalankan eksekusi, dengan Redis sebagai antrean. Perlu dipertimbangkan bila eksekusi berat atau bersamaan mulai membuat editor dan webhook lambat. Untuk beban kecil, satu instance biasa masih cukup.

Daftar isi
  1. Bagaimana queue mode bekerja?
  2. Alur eksekusi
  3. Syarat teknis
  4. Mode biasa dibanding queue mode
  5. Kapan perlu worker terpisah, kapan belum?
  6. Langkah pindah yang aman
  7. Pertanyaan yang sering diajukan

Queue mode adalah cara menjalankan n8n dengan membagi tugas ke beberapa proses. Instance utama hanya menerima pemicu, seperti timer dan webhook, lalu membuat eksekusi tanpa menjalankannya. Eksekusi itu dimasukkan ke antrean di Redis, kemudian diambil dan dijalankan oleh worker, yaitu proses n8n terpisah yang bisa ada satu, dua, atau lebih, di server yang sama maupun berbeda.

Pertanyaannya, kapan ini perlu? Salah pilih ke dua arah sama-sama merugikan. Terlambat pindah membuat editor lambat, webhook timeout, dan eksekusi menumpuk saat jam sibuk. Terlalu cepat pindah berarti kamu memelihara Redis, PostgreSQL, dan beberapa proses tambahan untuk beban yang sebenarnya bisa ditangani satu instance.

Bagaimana queue mode bekerja?

Alur eksekusi

Dalam mode biasa, satu proses n8n mengerjakan semuanya: menyajikan editor, menerima webhook, menjalankan timer, dan menjalankan seluruh workflow. Bila beberapa workflow berat berjalan bersamaan, semuanya berebut CPU dan memori di proses yang sama.

Dalam queue mode, menurut dokumentasi n8n, alurnya begini:

  1. Instance utama menerima pemicu dan membuat eksekusi, tetapi tidak menjalankannya.
  2. ID eksekusi dikirim ke Redis sebagai antrean.
  3. Worker yang sedang kosong mengambil pekerjaan dari Redis, memuat workflow dari database, lalu menjalankannya.
  4. Worker menulis hasil ke database dan melapor ke Redis, yang lalu memberi tahu instance utama.

Untuk trafik webhook yang tinggi, kamu juga bisa menambah webhook processor, yaitu proses khusus penerima webhook yang dipasang di belakang load balancer. Dokumentasi n8n tidak menyarankan memasukkan proses utama ke kelompok load balancer itu.

Syarat teknis

Queue mode butuh beberapa komponen yang tidak wajib di mode biasa:

  • Redis sebagai perantara antrean. Alamatnya diatur lewat QUEUE_BULL_REDIS_HOST dan QUEUE_BULL_REDIS_PORT.
  • Database bersama yang bisa dijangkau semua proses. Dokumentasi n8n menyebut queue mode dengan SQLite tidak disarankan dan sistem terdistribusi di atas SQLite tidak didukung, jadi praktiknya memakai PostgreSQL.
  • EXECUTIONS_MODE=queue di instance utama dan semua worker.
  • Kunci enkripsi yang sama. N8N_ENCRYPTION_KEY milik instance utama harus dipasang di semua worker dan webhook processor, karena worker perlu membaca kredensial.
  • Penyimpanan data biner yang sesuai. Dokumentasi menyebut queue mode tidak mendukung penyimpanan data biner di filesystem. Bila workflow perlu menyimpan file, gunakan penyimpanan eksternal S3.

Worker dijalankan dengan perintah n8n worker, atau di Docker memakai image n8n dengan perintah worker. Setiap worker menjalankan hingga 10 pekerjaan bersamaan secara default, dan angka ini bisa diubah dengan opsi --concurrency. Dokumentasi n8n menyarankan nilai 5 atau lebih.

Mode biasa dibanding queue mode

AspekMode biasa (satu instance)Queue mode
KomponenSatu proses n8n, SQLite atau PostgreSQLInstance utama, worker, Redis, PostgreSQL
Eksekusi beratBerebut sumber daya dengan editor dan webhookDikerjakan worker, instance utama tetap responsif
Menambah kapasitasNaikkan spesifikasi serverTambah worker, bisa di server lain
Data binerBisa di filesystemPerlu penyimpanan eksternal seperti S3
PemeliharaanSederhanaLebih banyak bagian yang dipantau dan diperbarui
Cocok untukTim kecil, beban ringan sampai sedangBanyak eksekusi bersamaan atau workflow berat

Kapan perlu worker terpisah, kapan belum?

Pertimbangkan queue mode bila kamu mulai melihat tanda-tanda berikut secara berulang, bukan sekali dua kali. Editor n8n terasa lambat atau tidak bisa dibuka saat workflow tertentu sedang berjalan. Webhook mengalami timeout di jam sibuk, padahal workflow-nya sederhana. Eksekusi terjadwal mulai terlambat karena menunggu eksekusi lain. Atau ada workflow berat, seperti memproses ratusan baris data atau memanggil model AI berkali-kali, yang membuat seluruh instance tersendat.

Queue mode juga masuk akal bila kamu butuh menambah kapasitas tanpa terus menaikkan spesifikasi satu server. Menambah worker di server kedua sering lebih fleksibel daripada membeli server yang jauh lebih besar.

Sebaliknya, bila workflow kamu hanya puluhan, sebagian besar ringan, dan server jarang sibuk, mode biasa masih pilihan yang lebih masuk akal. Sebelum pindah, coba langkah yang lebih murah dulu: pindahkan database dari SQLite ke PostgreSQL, pecah workflow berat menjadi bagian kecil, kurangi data yang dibawa antar node, atur penyimpanan dan pembersihan riwayat eksekusi, dan periksa apakah server memang kekurangan RAM atau CPU. Panduan menghitung kebutuhan server ada di memilih spesifikasi VPS.

Langkah pindah yang aman

Siapkan PostgreSQL dan Redis lebih dulu, lalu pastikan instance n8n yang ada sudah memakai PostgreSQL. Panduan memasang keduanya ada di cara pasang PostgreSQL 17 di Ubuntu 24.04 dan cara pasang Redis di VPS. Jangan biarkan Redis terbuka ke internet, cukup dijangkau oleh proses n8n.

Catat N8N_ENCRYPTION_KEY yang sedang dipakai sebelum mengubah apa pun. Lalu set EXECUTIONS_MODE=queue dan konfigurasi Redis di instance utama, jalankan satu worker dengan konfigurasi database dan kunci yang sama, dan uji beberapa workflow, termasuk yang memakai kredensial dan webhook. Setelah stabil, tambah worker sesuai kebutuhan dan pantau panjang antrean.

Pertanyaan yang sering diajukan

Apakah queue mode butuh lisensi berbayar?

Dokumentasi n8n memberi panduan queue mode untuk instance self-hosted. Yang ditandai khusus Enterprise adalah multi-main, yaitu menjalankan lebih dari satu instance utama untuk ketersediaan tinggi. Cek ketentuan terbaru di dokumentasi resmi.

Berapa worker yang dibutuhkan?

Tidak ada angka baku. Mulai dari satu worker, lalu tambah bila antrean sering menumpuk. Ingat bahwa setiap worker sudah bisa menjalankan beberapa pekerjaan bersamaan.

Apakah worker harus di server berbeda?

Tidak harus. Worker bisa berjalan di server yang sama sebagai proses atau container terpisah. Server terpisah berguna bila satu mesin sudah tidak cukup.

Apakah queue mode membuat n8n tahan bila server utama mati?

Tidak dengan sendirinya. Instance utama tetap satu titik penting. Ketersediaan tinggi untuk instance utama membutuhkan multi-main, yang menurut dokumentasi merupakan fitur Enterprise.

Sumber & referensi

Baca juga