Antrean SQS Standard vs FIFO
Bandingkan antrean Standard untuk throughput maksimum dengan antrean FIFO untuk pemrosesan berurutan dan tepat satu kali, lalu pilih tipe yang tepat.
Antrean SQS Standard vs FIFO adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Mengapa Message Queue Penting
Message queue memisahkan produsen dari konsumen: produsen mengirim pesan ke queue tanpa menunggu konsumen memprosesnya. Konsumen memproses pesan sesuai kecepatannya sendiri. Pola ini mencegah produsen yang cepat membebani konsumen yang lambat, memungkinkan penskalaan setiap tingkat secara independen, dan menyediakan penyangga yang tahan lama jika konsumen untuk sementara tidak tersedia. Amazon SQS adalah layanan message queue yang dikelola sepenuhnya dan memiliki ketersediaan tinggi dari AWS.
Karakteristik Queue Standard SQS
Queue Standard menawarkan throughput tanpa batas (transaksi per detik yang nyaris tidak terbatas). Queue ini menjamin pengiriman setidaknya sekali—dalam kasus yang jarang terjadi, pesan dapat dikirim lebih dari sekali (akibat infrastruktur terdistribusi). Urutan pesan bersifat upaya terbaik: pesan umumnya dikirim sesuai urutan pengirimannya, tetapi hal ini tidak dijamin. Queue Standard ideal ketika throughput sangat penting dan konsumen Anda dapat menangani duplikasi sesekali serta pengiriman yang tidak berurutan.
# Create a Standard queue
aws sqs create-queue \
--queue-name 'OrderProcessingQueue'
# Send a message
aws sqs send-message \
--queue-url 'https://sqs.us-east-1.amazonaws.com/123456789012/OrderProcessingQueue' \
--message-body 'OrderId-12345'Karakteristik Queue FIFO SQS
Queue FIFO (First-In, First-Out) menjamin pemrosesan tepat satu kali dan pengurutan pesan yang ketat. Pesan dikirim persis sesuai urutan pengirimannya. Queue FIFO mendukung hingga 300 transaksi per detik (3.000 dengan pengelompokan). Nama queue FIFO harus diakhiri dengan .fifo. Gunakan queue FIFO ketika urutan dan semantik tepat satu kali sangat penting—transaksi keuangan, pemrosesan pesanan e-commerce, dan pembaruan inventaris.
# Create a FIFO queue
aws sqs create-queue \
--queue-name 'OrderProcessingQueue.fifo' \
--attributes '{
"FifoQueue": "true",
"ContentBasedDeduplication": "true"
}'Grup Pesan dalam Queue FIFO
Queue FIFO menggunakan ID Grup Pesan untuk membagi pengurutan di dalam queue. Pesan dengan ID Grup yang sama dikirim secara berurutan; pesan dengan ID Grup yang berbeda dapat diproses secara paralel. Misalnya, gunakan customerId sebagai ID Grup: pesanan setiap pelanggan diproses secara berurutan, tetapi pesanan pelanggan yang berbeda diproses secara bersamaan. Hal ini memungkinkan semantik FIFO dengan skalabilitas horizontal di antara konsumen.
aws sqs send-message \
--queue-url 'https://sqs.us-east-1.amazonaws.com/123456789012/Orders.fifo' \
--message-body 'Order details here' \
--message-group-id 'customer-789' \
--message-deduplication-id 'order-uuid-abc123'Deduplicasi dalam Queue FIFO
Queue FIFO mencegah pemrosesan pesan duplikat menggunakan ID deduplikasi. Jika dua pesan dikirim dengan ID yang sama dalam interval deduplikasi 5 menit, pesan kedua akan dibuang secara diam-diam. Anda dapat memberikan ID deduplikasi secara eksplisit (MessageDeduplicationId) atau mengaktifkan deduplikasi berbasis konten, yang membuat SQS menghitung hash SHA-256 dari isi pesan sebagai ID deduplikasi secara otomatis. Deduplikasi berbasis konten lebih sederhana, tetapi memerlukan isi pesan yang unik.
Batas Retensi dan Ukuran Pesan
SQS menyimpan pesan selama periode yang dapat dikonfigurasi: minimum 1 menit, maksimum 14 hari (default 4 hari). Pesan yang tidak dikonsumsi dalam periode retensi akan dihapus secara otomatis. Ukuran maksimum pesan adalah 256 KB. Untuk muatan yang lebih besar, gunakan Pustaka Klien Perluasan SQS atau simpan muatan di S3 dan kirim hanya referensi objek S3 dalam pesan SQS. Queue Standard dan FIFO memiliki batas yang sama.
Menerima dan Menghapus Pesan
Konsumen melakukan polling terhadap queue menggunakan receive-message. Setelah diterima, pesan menjadi tidak terlihat (disembunyikan dari konsumen lain) selama periode batas waktu visibilitas. Konsumen harus memproses pesan, lalu secara eksplisit menghapusnya menggunakan receipt handle sebelum batas waktu berakhir. Jika konsumen mengalami kerusakan atau tidak menghapus pesan tepat waktu, pesan akan muncul kembali dan konsumen lain dapat memprosesnya—sehingga memungkinkan pengiriman setidaknya sekali di queue Standard.
RECEIPT=$(aws sqs receive-message \
--queue-url 'https://...' \
--query 'Messages[0].ReceiptHandle' --output text)
# Process message, then delete it
aws sqs delete-message \
--queue-url 'https://...' \
--receipt-handle "$RECEIPT"Perbandingan Throughput dalam Praktik
Queue Standard cocok untuk: pembuatan gambar mini, pengiriman email pemberitahuan, dan pemrosesan log—beban kerja yang duplikasinya dapat ditangani secara idempoten dan urutan tidak penting. Queue FIFO diperlukan untuk: pemrosesan transfer bank (debit sebelum kredit), pembaruan keranjang e-commerce (menambahkan barang sebelum pembayaran), serta langkah alur kerja ketika langkah 2 harus mengikuti langkah 1. Untuk sebagian besar arsitektur dengan throughput tinggi, queue Standard menjadi pilihan default; beralihlah ke FIFO hanya jika pengurutan atau pengiriman tepat satu kali merupakan persyaratan mutlak.
Pengelompokan untuk Throughput dan Biaya
SQS mengenakan biaya per permintaan API. Gunakan operasi pengelompokan untuk mengirim, menerima, dan menghapus hingga 10 pesan dalam setiap panggilan API, sehingga biaya dapat dikurangi hingga 10 kali lipat. Queue FIFO mendukung mode throughput tinggi (yang mengaktifkan pengelompokan), sehingga batasnya menjadi 3.000 pesan per detik dengan pengelompokan 10 pesan. Selalu gunakan send-message-batch dan delete-message-batch di lingkungan produksi untuk meminimalkan biaya panggilan API.
aws sqs send-message-batch \
--queue-url 'https://...' \
--entries '[
{"Id": "msg1", "MessageBody": "Order-001"},
{"Id": "msg2", "MessageBody": "Order-002"},
{"Id": "msg3", "MessageBody": "Order-003"}
]'Kebijakan Akses Queue
Queue SQS diamankan oleh kebijakan berbasis sumber daya (kebijakan queue) yang mengatur siapa yang dapat mengirim ke atau menerima dari queue. Hal ini penting ketika mengizinkan akses lintas akun atau ketika SNS menerbitkan pesan ke queue SQS. Akses Lambda ke SQS dikendalikan oleh kebijakan IAM pada peran eksekusi Lambda (sqs:ReceiveMessage, sqs:DeleteMessage, sqs:GetQueueAttributes). Selalu terapkan hak akses paling minimal: jangan memberi konsumen izin lebih dari menerima dan menghapus.
Memilih Standard atau FIFO: Panduan Pengambilan Keputusan
Ajukan pertanyaan berikut untuk memilih: (1) Apakah urutan penting? Jika ya → FIFO. (2) Apakah pemrosesan tepat satu kali diperlukan? Jika ya → FIFO. (3) Apakah throughput di atas 3.000 TPS diperlukan? Jika ya → Standard (FIFO dibatasi hingga 3.000 TPS dengan pengelompokan). (4) Apakah konsumen dapat menangani duplikasi? Jika ya → Standard lebih sederhana dan lebih murah. Untuk ujian SAA-C03, kata kunci FIFO adalah: 'pengurutan', 'tepat satu kali', 'berurutan', 'deduplikasi'. Kata kunci Standard adalah: 'throughput tinggi', 'upaya terbaik', 'setidaknya sekali'.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda telah mempelajari bahwa: queue Standard menawarkan throughput tanpa batas dengan pengiriman setidaknya sekali dan pengurutan berdasarkan upaya terbaik, sehingga cocok untuk beban kerja bervolume tinggi yang dapat menoleransi duplikasi; queue FIFO menjamin pemrosesan tepat satu kali dan pengurutan pesan yang ketat menggunakan ID Grup Pesan dan ID deduplikasi, dengan batas 3.000 TPS melalui pengelompokan; dan pilihan di antara keduanya bergantung pada apakah pengurutan dan deduplikasi merupakan persyaratan mutlak. Selanjutnya kita akan membahas batas waktu visibilitas, queue huruf mati, dan polling panjang.
Belajar Cloud & IT Cert Prep dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 150
- Pelajaran
- 600
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Antrean SQS Standard vs FIFO” gratis?
Ya — teks lengkap “Antrean SQS Standard vs FIFO” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Antrean SQS Standard vs FIFO”?
Bandingkan antrean Standard untuk throughput maksimum dengan antrean FIFO untuk pemrosesan berurutan dan tepat satu kali, lalu pilih tipe yang tepat. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Antrean SQS Standard vs FIFO” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Antrean SQS Standard vs FIFO
- Batas Waktu Visibilitas, DLQ, dan Polling Panjang
- Topik SNS dan Arsitektur Penyebaran
- Penyaringan Pesan SQS dan Integrasi SNS + SQS