Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon SQS polling pendek dan panjang
Amazon SQS menawarkan opsi polling pendek dan panjang untuk menerima pesan dari antrian. Pertimbangkan persyaratan aplikasi Anda untuk responsif dan efisiensi biaya saat memilih di antara dua opsi pemungutan suara ini:
-
Jajak pendapat singkat (default) —
ReceiveMessage
Permintaan meminta subset server (berdasarkan distribusi acak tertimbang) untuk menemukan pesan yang tersedia dan mengirimkan respons langsung, bahkan jika tidak ada pesan yang ditemukan. -
Polling panjang —
ReceiveMessage
menanyakan semua server untuk pesan, mengirim respons sekali setidaknya satu pesan tersedia, hingga maksimum yang ditentukan. Respons kosong dikirim hanya jika waktu tunggu polling berakhir. Opsi ini dapat mengurangi jumlah tanggapan kosong dan biaya yang berpotensi lebih rendah.
Bagian berikut menjelaskan rincian polling pendek dan polling panjang.
Topik
Mengkonsumsi pesan menggunakan polling singkat
Saat Anda menggunakan pesan dari antrian (FIFO atau standar) menggunakan polling singkat, Amazon SQS mengambil sampel subset servernya (berdasarkan distribusi acak tertimbang) dan menampilkan pesan hanya dari server tersebut. Dengan demikian, ReceiveMessage
permintaan tertentu mungkin tidak mengembalikan semua pesan Anda. Namun, jika Anda memiliki kurang dari 1.000 pesan dalam antrian Anda, permintaan berikutnya akan mengembalikan pesan Anda. Jika Anda terus mengkonsumsi dari antrian Anda, Amazon SQS mengambil sampel semua servernya, dan Anda menerima semua pesan Anda.
Diagram berikut menunjukkan perilaku polling singkat pesan yang dikembalikan dari antrian standar setelah salah satu komponen sistem Anda membuat permintaan terima. Amazon SQS mengambil sampel beberapa servernya (berwarna abu-abu) dan mengembalikan pesan A, C, D, dan B dari server ini. Pesan E tidak dikembalikan untuk permintaan ini, tetapi dikembalikan untuk permintaan berikutnya.
Mengkonsumsi pesan menggunakan polling panjang
Ketika waktu tunggu untuk tindakan ReceiveMessage
API lebih besar dari 0, polling panjang berlaku. Waktu tunggu polling maksimum yang panjang adalah 20 detik. Polling panjang membantu mengurangi biaya penggunaan Amazon SQS dengan menghilangkan jumlah respons kosong (bila tidak ada pesan yang tersedia untuk ReceiveMessage
permintaan) dan respons kosong palsu (saat pesan tersedia tetapi tidak disertakan dalam respons). Untuk informasi tentang mengaktifkan polling panjang untuk antrean baru atau yang sudah ada menggunakan konsol Amazon SQS, lihat. Mengkonfigurasi parameter antrian menggunakan konsol Amazon SQS Untuk praktik terbaik, lihat Mengatur polling panjang di Amazon SQS.
Jajak pendapat panjang menawarkan manfaat berikut:
-
Kurangi respons kosong dengan mengizinkan Amazon SQS menunggu hingga pesan tersedia dalam antrian sebelum mengirim respons. Kecuali waktu koneksi habis, respons terhadap
ReceiveMessage
permintaan berisi setidaknya satu pesan yang tersedia, hingga jumlah maksimum pesan yang ditentukan dalamReceiveMessage
tindakan. Dalam kasus yang jarang terjadi, Anda mungkin menerima respons kosong bahkan ketika antrian masih berisi pesan, terutama jika Anda menentukan nilai rendah untukReceiveMessageWaitTimeSeconds
parameter tersebut. -
Kurangi respons kosong palsu dengan menanyakan semua—bukan subset dari—server Amazon SQS.
-
Kembalikan pesan segera setelah tersedia.
Untuk informasi tentang cara mengonfirmasi bahwa antrian kosong, lihatMengonfirmasi bahwa antrian Amazon SQS kosong.
Perbedaan antara polling panjang dan pendek
Polling singkat terjadi ketika WaitTimeSeconds
parameter ReceiveMessage
permintaan diatur ke 0
dalam salah satu dari dua cara:
-
ReceiveMessage
Panggilan ditetapkanWaitTimeSeconds
ke0
. -
ReceiveMessage
Panggilan tidak disetelWaitTimeSeconds
, tetapi atribut antrianReceiveMessageWaitTimeSeconds
disetel ke0
.