Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Polling pendek dan panjang Amazon SQS
Amazon SQS menawarkan opsi polling pendek dan panjang untuk menerima pesan dari antrian. Pertimbangkan persyaratan aplikasi Anda untuk responsivitas dan efisiensi biaya saat memilih di antara dua opsi polling ini:
-
Polling pendek (default) — Per
ReceiveMessagemintaan 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 —
ReceiveMessagemenanyakan semua server untuk pesan, mengirim respons setelah setidaknya satu pesan tersedia, hingga maksimum yang ditentukan. Tanggapan kosong dikirim hanya jika waktu tunggu polling berakhir. Opsi ini dapat mengurangi jumlah tanggapan kosong dan berpotensi menurunkan biaya.
Bagian berikut menjelaskan rincian polling pendek dan polling panjang.
Mengkonsumsi pesan menggunakan polling pendek
Saat Anda menggunakan pesan dari antrian (FIFO atau standar) menggunakan polling pendek, Amazon SQS mengambil sampel subset servernya (berdasarkan distribusi acak tertimbang) dan mengembalikan 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 mengonsumsi 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 penerimaan. 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 yang panjang maksimum adalah 20 detik. Polling panjang membantu mengurangi biaya penggunaan Amazon SQS dengan mengurangi jumlah tanggapan kosong (ketika tidak ada pesan yang tersedia untuk ReceiveMessage permintaan) dan respons kosong palsu (ketika pesan tersedia tetapi tidak disertakan dalam respons). Untuk informasi tentang mengaktifkan polling panjang untuk antrian 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.
Pemungutan suara panjang menawarkan manfaat berikut:
-
Kurangi tanggapan kosong dengan mengizinkan Amazon SQS menunggu hingga pesan tersedia dalam antrian sebelum mengirim respons. Kecuali waktu koneksi habis, respons terhadap
ReceiveMessagepermintaan berisi setidaknya satu pesan yang tersedia, hingga jumlah maksimum pesan yang ditentukan dalamReceiveMessagetindakan. Dalam kasus yang jarang terjadi, Anda mungkin menerima respons kosong bahkan ketika antrian masih berisi pesan, terutama jika Anda menentukan nilai rendah untukReceiveMessageWaitTimeSecondsparameter. -
Kurangi respons kosong palsu dengan menanyakan semuanya—bukan subkumpulan 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 pendek terjadi ketika WaitTimeSeconds parameter ReceiveMessage permintaan diatur 0 dalam salah satu dari dua cara:
-
Pang
ReceiveMessagegilan diaturWaitTimeSecondske0. -
Pang
ReceiveMessagegilan tidak disetelWaitTimeSeconds, tetapi atribut antreanReceiveMessageWaitTimeSecondsdisetel ke0.