Mengatur polling panjang di Amazon SQS - Amazon Simple Queue Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur polling panjang di Amazon SQS

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 selengkapnya, lihat Amazon SQS polling pendek dan panjang.

Untuk pemrosesan pesan yang optimal, gunakan strategi berikut:

  • Dalam kebanyakan kasus, Anda dapat mengatur waktu ReceiveMessage tunggu menjadi 20 detik. Jika 20 detik terlalu lama untuk aplikasi Anda, tetapkan waktu ReceiveMessage tunggu yang lebih pendek (minimum 1 detik). Jika Anda tidak menggunakan AWS SDK untuk mengakses Amazon SQS, atau jika Anda mengonfigurasi SDK agar memiliki waktu tunggu AWS yang lebih singkat, Anda mungkin harus memodifikasi klien Amazon SQS untuk mengizinkan permintaan yang lebih lama atau menggunakan waktu tunggu yang lebih singkat untuk polling yang lama.

  • Jika Anda menerapkan polling panjang untuk beberapa antrian, gunakan satu utas untuk setiap antrian, bukan satu utas untuk semua antrian. Menggunakan satu utas untuk setiap antrian memungkinkan aplikasi Anda memproses pesan di setiap antrian saat tersedia, sementara menggunakan satu utas untuk polling beberapa antrian dapat menyebabkan aplikasi Anda tidak dapat memproses pesan yang tersedia di antrian lain saat aplikasi menunggu (hingga 20 detik) untuk antrian yang tidak memiliki pesan yang tersedia.

penting

Untuk menghindari kesalahan HTTP, pastikan batas waktu respons HTTP untuk ReceiveMessage permintaan lebih panjang dari WaitTimeSeconds parameter. Untuk informasi lebih lanjut, lihat ReceiveMessage.